Method, apparatus, and computer program product for real time location system referencing in physically and radio frequency challenged environments

ABSTRACT

An example method includes receiving environmental data from a plurality of receivers; calculating, using a processor, an environmental offset based on the environmental data, wherein the environmental offset is operable to adjust a reference phase offset; and dynamically adjusting the environmental offset in response to a detected change in the environmental data.

CROSS-REFERENCE TO RELATED APPLICATION

This patent arises from a continuation of U.S. patent application Ser.No. 15/492,537, filed Apr. 20, 2017, now U.S. Pat. No. 10,310,052, whichis a continuation of U.S. patent application Ser. No. 14/678,080, filedApr. 3, 2015, now U.S. Pat. No. 9,661,455, which claims priority fromand the benefit of the filing date of U.S. Provisional PatentApplication No. 62/008,298 filed Jun. 5, 2014, which are incorporated byreference in their entireties herein.

FIELD

Embodiments discussed herein are related to radio frequency locatingand, more particularly, to systems, methods, apparatus, computerreadable media for real time location system (RTLS) referencing inphysically and radio frequency (RF) challenged environments.

BACKGROUND

A number of deficiencies and problems associated with RTLS referencingare identified herein. Through applied effort, ingenuity, andinnovation, exemplary solutions to many of these identified problems areembodied by the present invention, which is described in detail below.

BRIEF SUMMARY

Systems, methods, apparatus, and computer readable media are disclosedfor providing RTLS referencing in physically or RF challengedenvironments as herein described.

In an embodiment, a method is provided including receiving reference tagblink data from a plurality of receivers; calculating, using aprocessor, a reference phase offset between the plurality of receivers;analyzing a plurality of reference phase offset calculations for atleast one reference tag receiver pair over a time interval; andgenerating a suspended reference phase offset table in an instance inwhich the plurality of reference phase offset calculations for the atleast one reference tag receiver pair satisfy a stability threshold,wherein a suspended reference phase offset table is generated by causingthe reference phase offset to be stored in a memory for later taglocation calculations. In some embodiments of the method the referencephase offset is the difference between a reference clock time at receiptof the reference tag blink data at a respective plurality of receivers.In some embodiments the method also includes receiving tag blink data;and calculating a tag location data, wherein calculating the taglocation data is based on a time difference of arrival of the tag dataat the plurality of receivers and adding the reference phase offset ofthe suspended reference phase offset table.

In some embodiments the method may further include determining a radiofrequency receiving period with low radio frequency interference,wherein the radio frequency receiving period comprises a period in whichradio frequency interference satisfies a predetermined threshold. Insome embodiments the method also includes determining a radio frequencyreceiving period with low physical interference, wherein the radiofrequency receiving period comprises a period in which physicalinterference satisfies a predetermined threshold. In some embodiments anapparatus is provided including a processor and a memory includingcomputer program code, the memory and computer program code configuredto, with the processor, cause the apparatus to receive reference tagblink data from a plurality of receivers; calculate a reference phaseoffset between the plurality of receivers; analyze a plurality ofreference phase offset calculations for at least one reference tagreceiver pair over a time interval; and generate a suspended referencephase offset table in an instance in which the plurality of referencephase offset calculations for the at least one reference tag receiverpair satisfy a stability threshold, wherein a suspended reference phaseoffset table is generated by causing the reference phase offset to bestored in a memory for later tag location calculations.

In some embodiments of the apparatus the reference phase offset is thedifference between a reference clock time at receipt of the referencetag blink data at a respective plurality of receivers. In someembodiments of the apparatus the memory and computer program code arefurther configured to, with the processor, cause the apparatus toreceive tag blink data; and calculate a tag location data, whereincalculating the tag location data is based on a time difference ofarrival of the tag data at the plurality of receivers and adding thereference phase offset of the suspended reference phase offset table.

In some embodiments of the apparatus the memory and computer programcode are further configured to, with the processor, cause the apparatusto determine an radio frequency receiving period with low radiofrequency interference, wherein the radio frequency receiving periodcomprises a period in which radio frequency interference satisfies apredetermined threshold. In some embodiments of the apparatus the memoryand computer program code are further configured to, with the processor,cause the apparatus to determine an radio frequency receiving periodwith low physical interference, wherein the radio frequency receivingperiod comprises a period in which physical interference satisfies apredetermined threshold.

In some embodiments a computer program product is provided including anon-transitory computer readable medium having program code portionsstored thereon, the program code portions configured, upon execution toreceive reference tag blink data from a plurality of receivers;calculate a reference phase offset between the plurality of receivers;analyze a plurality of reference phase offset calculations for at leastone reference tag receiver pair over a time interval; and generate asuspended reference phase offset table in an instance in which theplurality of reference phase offset calculations for the at least onereference tag receiver pair satisfy a stability threshold, wherein asuspended reference phase offset table is generated by causing thereference phase offset to be stored in a memory for later tag locationcalculations.

In some embodiments of the computer program product the reference phaseoffset is the difference between a reference clock time at receipt ofthe reference tag blink data at a respective plurality of receivers. Insome embodiments of the computer program product the program codeportions are further configured, upon execution, to receive tag blinkdata; and calculate a tag location data, wherein calculating the taglocation data is based on a time difference of arrival of the tag dataat the plurality of receivers and adding the reference phase offset ofthe suspended reference phase offset table.

In some embodiments of the computer program product the program codeportions are further configured, upon execution, to determine a radiofrequency receiving period with low radio frequency interference,wherein the radio frequency receiving period comprises a period in whichradio frequency interference satisfies a predetermined threshold. Insome embodiments of the computer program product the program codeportions are further configured, upon execution, to determine a radiofrequency receiving period with low physical interference, wherein theradio frequency receiving period comprises a period in which physicalinterference satisfies a predetermined threshold.

In some embodiments a method is provided including receivingenvironmental data from a plurality of receivers; calculating, using aprocessor, an environmental offset based on the environmental datawherein the environmental offset is operable to adjust a reference phaseoffset; and dynamically adjusting the environmental offset in responseto a detected change in the environmental data. In some embodiments ofthe method the environmental data comprises temperature data. In someembodiments of the method the environmental data comprises voltage data.

In some embodiments the method further includes receiving receiver cablelength measurements for a plurality of receiver cables; determining achange in cable length based on the received environmental data; andcalculating an environmental offset further based on the change inreceiver cable length. In some embodiments the method further includesreceiving reference values for environmental data; comparing thereference environmental data to the received environmental data; andcalculating an environmental offset further based on the differencebetween the reference environmental data and the received environmentaldata.

In some embodiments an apparatus is provided including a processor and amemory including computer program code, the memory and computer programcode configured to, with the processor, cause the apparatus to receiveenvironmental data from a plurality of receivers; calculate anenvironmental offset based on the environmental data, wherein theenvironmental offset is operable to adjust a reference phase offset; anddynamically adjust the environmental offset in response to a detectedchange in the environmental data. In some embodiments of the apparatusthe environmental data comprises temperature data. In some embodimentsof the apparatus the environmental data comprises voltage data. In someembodiments of the apparatus the memory and computer program code arefurther configured to receive receiver cable length measurements for aplurality of receiver cables; determine a change in cable length basedon the received environmental data; and calculating an environmentaloffset further based on the change in receiver cable length. In someembodiments of the apparatus the memory and computer program code arefurther configured to receive reference values for environmental data;compare the reference environmental data to the received environmentaldata; and calculating an environmental offset is further based on thedifference between the reference environmental data and the receivedenvironmental data.

In some embodiments a computer program product is provided including anon-transitory computer readable medium having program code portionsstored thereon, the program code portions configured, upon execution toreceive environmental data from a plurality of receivers; calculate anenvironmental offset based on the environmental data, wherein theenvironmental offset is operable to adjust a reference phase offset; anddynamically adjust the environmental offset in response to a detectedchange in the environmental data. In some embodiments of the computerprogram product the environmental data comprises temperature data. Insome embodiments of the computer program product the environmental datacomprises voltage data.

In some embodiments of the computer program product the program codeportions are further configured, upon execution, to receive receivercable length measurements for a plurality of receiver cables; determinea change in cable length based on the received environmental data; andcalculating an environmental offset is further based on the change inreceiver cable length. In some embodiments of the computer programproduct the program code portions are further configured, uponexecution, to receive reference values for environmental data; comparethe reference environmental data to the received environmental data; andcalculating an environmental offset is further based on the differencebetween the reference environmental data and the received environmentaldata.

In some embodiments a method is provided including determining aconfiguration occurrence, wherein the configuration occurrence isindicative of an action condition within a receiver hub configurationthat is causing a degradation of accuracy of location data when comparedto a predetermined accuracy threshold or a delay in locationcalculations when tag blink data volume meets a predetermined volumethreshold; identifying, using a processor, the action condition withinthe receiver hub configuration by comparing one or more metrics to a setof performance thresholds; determining an adjustment to the receiver hubconfiguration; and adjusting the receiver hub configuration to addressthe configuration occurrence

In some embodiments the method also includes receiving an indication ofa remote connection to the receiver hub. In some embodiments of themethod the action condition is excessive receiver hub output data. Insome embodiments of the method the action condition is excessive tagdata. In some embodiments of the method the action condition isinsufficient tag data. In some embodiments of the method the actioncondition is an unstable reference.

In some embodiments the method also includes reprocessing tag blink datawith the adjusted receiver hub configuration. In some embodiments of themethod, determining an adjustment receiver hub configuration alsoincludes classifying a plurality of receivers as interested andnon-interested and adjusting the receiver hub configuration alsoincludes adjusting a range of at least one receiver based on thereceiver classification. In some embodiments of the method, adjustingthe receiver hub configuration also includes reducing a range of atleast one receiver. In some embodiments of the method adjusting thereceiver hub configuration also includes increasing a range of at leastone receiver. In some embodiments of the method adjusting the receiverhub configuration also includes terminating monitoring of the unstablereference. In some embodiments of the method adjusting the receiver hubconfiguration also includes terminating use of the unstable reference.

In some embodiments an apparatus is provided including a processor and amemory including computer program code, the memory and computer programcode configured to, with the processor, cause the apparatus to determinea configuration occurrence, wherein the configuration occurrence isindicative of an action condition within a receiver hub configurationthat is causing a degradation of accuracy of location data when comparedto a predetermined accuracy threshold or a delay in locationcalculations when tag blink data volume meets a predetermined volumethreshold; identify the action condition within the receiver hubconfiguration by comparing one or more metrics to a set of performancethresholds; determine an adjustment to the receiver hub configuration;and adjust the receiver hub configuration to address the configurationoccurrence.

In some embodiments of the apparatus the memory and computer programcode are further configured to, with the processor, cause the apparatusto receive an indication of a remote connection to the receiver hub. Insome embodiments of the apparatus the action condition is excessivereceiver hub output data. In some embodiments of the apparatus theaction condition is excessive tag data. In some embodiments of theapparatus the action condition is insufficient tag data. In someembodiments of the apparatus the action condition is an unstablereference.

In some embodiments of the apparatus the memory and computer programcode are further configured to, with the processor, cause the apparatusto reprocess tag blink data with the adjusted receiver hubconfiguration. In some embodiments of the apparatus determining anadjustment to the receiver hub configuration also includes classifying aplurality of receivers as interested and non-interested and adjustingthe receiver hub configuration also includes adjusting a range of atleast one receiver based on the receiver classification. In someembodiments of the apparatus adjusting the receiver hub configurationalso includes reducing a range of at least one receiver.

In some embodiments of the apparatus adjusting the receiver hubconfiguration also includes increasing a range of at least one receiver.In some embodiments of the apparatus adjusting the receiver hubconfiguration also includes terminating monitoring of the unstablereference. In some embodiments of the apparatus some embodiments of theapparatus adjusting the receiver hub configuration also includesterminating use of the unstable reference.

In some embodiments a computer program product is provided including anon-transitory computer readable medium having program code portionsstored thereon, the program code portions configured, upon execution todetermine a configuration occurrence, wherein the configurationoccurrence is indicative of an action condition within a receiver hubconfiguration that is causing a degradation of accuracy of location datawhen compared to a predetermined accuracy threshold or a delay inlocation calculations when tag blink data volume meets a predeterminedvolume threshold; identify the action condition within the receiver hubconfiguration by comparing one or more metrics to a set of performancethresholds; determine an adjustment to the receiver hub configuration;and adjust the receiver hub configuration to address the configurationoccurrence.

In some embodiments of the computer program the program code portionsare further configured, upon execution, to receive an indication of aremote connection to the receiver hub. In some embodiments of thecomputer program the action condition is excessive receiver hub outputdata. In some embodiments of the computer program product the actioncondition is excessive tag data. In some embodiments of the computerprogram product the action condition is insufficient tag data. In someembodiments of the computer program product the action condition is anunstable reference.

In some embodiments of the computer program product the program codeportions are further configured, upon execution, to reprocess tag blinkdata with the adjusted receiver hub configuration. In some embodimentsof the computer program product determining an adjustment to thereceiver hub configuration also includes classifying a plurality ofreceivers as interested and non-interested and adjusting the receiverhub configuration also includes adjusting a range of at least onereceiver based on the receiver classification.

In some embodiments of the computer program product adjusting thereceiver hub configuration also includes reducing a range of at leastone receiver. In some embodiments of the computer program productadjusting the receiver hub configuration also includes increasing arange of at least one receiver. In some embodiments of the computerprogram product adjusting the receiver hub configuration also includesterminating monitoring of the unstable reference. In some embodiments ofthe computer program product adjusting the receiver hub configurationalso includes terminating use of the unstable reference.

In some embodiments a method is provided including determining areference occurrence, the reference occurrence is indicative of aprimary suspended reference phase offset table failure; accessing, inresponse to determining the reference occurance, blink data associatedwith one or more reference tags; and calculating, using a processor, asecondary reference phase offset between a plurality of receivers.

In some embodiments of the method the primary suspended reference phaseoffset table failure includes a loss of primary suspended referencephase offset table. In some embodiments of the method the primarysuspended reference phase offset table failure comprises a loss ofcalibration of the primary suspended reference phase offset table. Insome embodiments of the method generating a reference phase offset alsoincludes receiving blink data from the one or more reference tags at aplurality of receivers; and the secondary reference phase offset is adifference between a reference clock time at receipt of the referencetag signal at a respective plurality of receivers.

In some embodiments the method also includes analyzing a plurality ofsecondary reference phase offset calculations for at least one referencetag receiver pair over a time interval; and generating a suspendedreference phase offset table in an instance in which the plurality ofsecondary reference phase offset calculations for the at least onereference tag receiver pair satisfy a stability threshold, wherein asecondary suspended reference phase offset table is generated by causingthe secondary reference phase offset to be stored in a memory for latertag location calculations. In some embodiments the method also includesreceiving tag blink data; and calculating, using a processor, a taglocation data, the calculating a tag location data is based on a timedifference of arrival at plurality of receivers of the tag blink data byadding the secondary reference phase offset based on the one or morereference tags. In some embodiments the method also includes receivingtag blink data; and calculating, using a processor, a tag location data,the calculating a tag location data is based on a time difference ofarrival at a plurality of receivers of the tag blink data by adding thesecondary reference phase offset of the stored secondary suspendedreference phase offset table.

In some embodiments an apparatus is provided including a processor and amemory including computer program code, the memory and computer programcode configured to, with the processor, cause the apparatus to determinea reference occurrence, the reference occurrence is indicative of aprimary suspended reference phase offset table failure; access, inresponse to determining the reference occurrence, blink data associatedwith one or more reference tags; and calculate a secondary referencephase offset between a plurality of receivers.

In some embodiments of the apparatus the primary suspended referencephase offset table failure comprises a loss of primary suspendedreference phase offset table. In some embodiments of the apparatus theprimary suspended reference phase offset table failure comprises a lossof calibration of the primary suspended reference phase offset table. Insome embodiments of the apparatus generating a reference phase offsetalso includes receiving blink data from the one or more reference tagsat a plurality of receivers; and the secondary reference phase offset isa difference between a reference clock time at receipt of the referencetag signal at a respective plurality of receivers.

In some embodiments of the apparatus the memory and computer programcode are further configured to, with the processor, cause the apparatusto analyze a plurality of secondary reference phase offset calculationsfor at least one reference tag receiver pair over a time interval; andgenerate a suspended reference phase offset table in an instance inwhich the plurality of secondary reference phase offset calculations forthe at least one reference tag receiver pair satisfy a stabilitythreshold, wherein a secondary suspended reference phase offset table isgenerated by causing the secondary reference phase offset to be storedin a memory for later tag location calculations.

In some embodiments of the apparatus the memory and computer programcode are further configured to, with the processor, cause the apparatusto receive tag blink data; and calculate, using a processor, a taglocation data, the calculating a tag location data is based on a timedifference of arrival at plurality of receivers of the tag blink data byadding the secondary reference phase offset based on the one or morereference tags. In some embodiments of the memory and computer programcode are further configured to, with the processor, cause the apparatusto receive tag blink data; and calculate, using a processor, a taglocation data, the calculating a tag location data is based on a timedifference of arrival at a plurality of receivers of the tag blink databy adding the secondary reference phase offset of the stored secondarysuspended reference phase offset table.

In some embodiments a computer program product is provided that includesa non-transitory computer readable medium having program code portionsstored thereon, the program code portions configured, upon execution todetermine a reference occurrence, the reference occurrence is indicativeof a primary suspended reference phase offset table failure; access, inresponse to determining the reference occurance, blink data associatedwith one or more reference tags; and calculate a secondary referencephase offset between a plurality of receivers.

In some embodiments of the computer program product the primarysuspended reference phase offset table failure comprises a loss ofprimary suspended reference phase offset table. In some embodiments ofthe computer program product the primary suspended reference phaseoffset table failure comprises a loss of calibration of the primarysuspended reference phase offset table. In some embodiments of thecomputer program product generating a reference phase offset alsoincludes receiving blink data from the one or more reference tags at aplurality of receivers; and the secondary reference phase offset is adifference between a reference clock time at receipt of the referencetag signal at a respective plurality of receivers.

In some embodiments of the computer program product the program codeportions are further configured, upon execution, to analyze a pluralityof secondary reference phase offset calculations for at least onereference tag receiver pair over a time interval; and generate asuspended reference phase offset table in an instance in which theplurality of secondary reference phase offset calculations for the atleast one reference tag receiver pair satisfy a stability threshold,wherein a secondary suspended reference phase offset table is generatedby causing the secondary reference phase offset to be stored in a memoryfor later tag location calculations. In some embodiments of the computerprogram the program code portions are further configured, uponexecution, to receive tag blink data; and calculate, using a processor,a tag location data, the calculating a tag location data is based on atime difference of arrival at plurality of receivers of the tag blinkdata by adding the secondary reference phase offset based on the one ormore reference tags. In some embodiments of the computer program productthe program code portions are further configured, upon execution, toreceive tag blink data; and calculate, using a processor, a tag locationdata, the calculating a tag location data is based on a time differenceof arrival at plurality of receivers of the tag blink data by adding thesecondary reference phase offset based on the one or more referencetags.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 illustrates an exemplary radio frequency locating system fordetermining the location of an object in accordance with some exampleembodiments of the present invention;

FIG. 2 shows a block diagram of components that may be included in aapparatus that may establish or maintain a reference phase offset; oradjust receiver hub configuration in accordance with example embodimentsof the present invention discussed herein;

FIG. 3 illustrates a flowchart of an exemplary process for generating asuspended reference phase offset table in accordance with some exampleembodiments of the present invention;

FIG. 4 illustrates an exemplary radio frequency locating system whichmay be calibrated to adapt for environmental changes in accordance withsome example embodiments of the present invention;

FIG. 5 illustrates a flowchart of an exemplary process for calculationand dynamic adjustment of an environmental offset in accordance withsome of the example embodiments of the present invention;

FIG. 6 illustrates an exemplary locating system which may adaptivelychange configuration settings based on external influences in accordancewith some example embodiments of the present invention;

FIG. 7 illustrates a flowchart of an exemplary process for adjusting areceiver hub configuration in accordance with some example embodimentsof the present invention;

FIG. 8 illustrates an exemplary reference phase offset table inaccordance with some example embodiments of the present invention;

FIG. 9 illustrates a flowchart of an exemplary process for calculating asecondary reference offset in accordance with some example embodimentsof the present invention; and

FIG. 10 illustrates a flowchart of an exemplary process for determininga receiver error in accordance with an example embodiment of the presentinvention.

DETAILED DESCRIPTION

The present invention now will be described more fully hereinafter withreference to the accompanying drawings, in which some, but not allembodiments of the inventions are shown. Indeed, the invention may beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein; rather, these embodiments areprovided so that this disclosure will satisfy applicable legalrequirements. Like numbers refer to like elements throughout.

Definitions

A reference phase offset as referred to herein is a time value pairbetween a particular pair of receivers and a reference tag blink datatransmission. A reference phase offset is a measure of the relativephase between two internal receiver clocks. The tag position is known,and so propagation time can be determined and subtracted from the timemeasurements to determine the actual counter offsets (i.e., relativecounts at any time). The reference phase offset indicates, in someexamples, the differential time of arrival of a reference tag blink datatransmission between two particular receivers. A reference phase offsetmay be recorded as the differential time in arrival between tworeceivers. or the differential time of arrival at a receiver andtransmission time for a reference tag/receiver pair.

Reference, as used herein, may relate to the generation and/or use ofone or more reference phase offset calculations or reference offsetdata. In an instance in which the reference is stored in a memory forsubsequent use, such as in an example where reference is no longer beingcalculated, reference may be also referred to as being suspended herein.In some examples, suspended reference phase offset table data maydescribe the outcome of a reference phase offset calculation.

Overview

Location systems use a known reference location and signal to establishsystem referencing for location calculations. Reference locationtransmissions rely on line of sight with receivers and are susceptibleto RF interference and physical blockage. Noisy environments, such as“game day” at a sporting event, may prevent the system from establishingor otherwise maintaining connection or otherwise receive a referencesignal to establish reference during the event due to high instances ofRF interference and/or physical blocking of a reference signal. Theseinterferences may drastically reduce accuracy of the locationcalculations or temporarily disable the locating system.

As such systems, methods, apparatus, and computer program products ofsome embodiments of the present invention are configured to allow thelocating system to suspend or otherwise store the reference in the formof one or more reference phase offsets for later tag locationcalculations, therefore eliminating or otherwise reducing RF andphysical blockage interferences, in locating systems in which the phaserelationship is locked. This may be accomplished, in some examples, byreceiving the reference tag blink data; calculating a reference phaseoffset for each reference tag to receiver pair; and generating asuspended reference phase offset table, based on the reference phaseoffset, which is stored to memory. With these interferences removed, thelocation system may provide more reliable and accurate locationmonitoring as described herein.

Dynamically calculated or suspended reference phase offsets may sufferfrom inaccuracies due to RF or physical interference at the time ofreference phase offset calculation. In some example embodiments, becausethe reference phase offset is suspended prior to the event, thesuspended reference phase offset table may be generated during a periodwith minimal RF or physical interferences. This may be accomplished byautomatic or manual determination of an optimal RF receiving period(e.g. low RF and/or physical interference) prior to calculation andsuspension of the reference phase offset. Suspended reference phaseoffset table during optimal RF receiving conditions further improvesaccuracy over dynamically calculated or suspended reference offsetswhich are calculated during period with RF or physical interference.

Variations in receipt of reference tag blink data due to signal bounceor missed transmissions may reduce the accuracy of the reference phaseoffset calculation. A location system may determine a consistentreference phase timing prior to generating the suspended reference phaseoffset table (e.g., analyzing a plurality of reference phase offsetcalculations for at least one reference tag to receiver pair over a timeinterval). This may be accomplished by comparing successive referencephase offsets to a stability threshold (e.g., generating a suspendedreference phase offset table in an instance in which the plurality ofreference phase offset calculations for the at least one reference tagreceiver pair satisfy a stability threshold). Once a series of referencephase offsets satisfies the stability threshold the location system maygenerate or otherwise lock in the suspended reference phase offsettable. Suspended reference phase offset table of a reference phaseoffset(s) which have satisfied the stability threshold provides furtheraccuracy over a suspended reference phase offset table of a singlecalculated reference phase offset.

Some locations systems utilize receiver cables which may change lengthproportional to changes in temperature or change signal travel timeproportionally to receiver voltage. Event locations vary drastically inthe stability of the environment, for example an indoor arena with airconditioning may have little variation. In contrast, an outdoor footballstadium in Seattle, Wash. may have a change of twenty or more degreesfrom an evening suspended reference phase offset table to an afternoongame the following day. In dynamically calculated reference phaseoffsets changes in environmental data were compensated at eachcalculation. In an instance in which a suspended reference phase offsettable is used, these environmental changes can affect the accuracy ofthe reference phase offset for each receiver and therefore the accuracyof the tag location calculations. A location system may compensate thesuspended reference phase offset table for changes in environmentalconditions, specifically temperature and/or voltage. This may beaccomplished by storing the initial environmental conditions and/orreceiver cable lengths with the suspended reference phase offset table.The location system may monitor the environmental conditions andcalculate an environmental offset for the proportional change in cablelength for a change in temperature or the proportional change in signaltravel time for a change in receiver voltage. The environmental offsetmay be dynamically adjusted and applied (e.g. added) to the suspendedreference phase offset table to compensate for a change in theenvironmental conditions.

In some examples the system may be configured to detect one or moreconfiguration issues, problems or the like and compensate referenceaccordingly. In some examples, a location system may receive a volume oftag data based on the receiver hub configuration, specifically from arange in which the receiver is configured to receive tag data. Thereceipt of a volume of tag data that exceeds a volume threshold maycause delays in the calculation of tag locations, reduce accuracy of taglocation calculations and/or reduce the processing availability of thereceiver hub. Whereas, the receipt of a volume of tag data that fails tosatisfy a minimum volume threshold may cause inaccuracies in the taglocation data due to insufficient information to calculate a taglocation or tag location calculations based on minimum tag data.Additionally or alternatively, a location system may have tag locationinaccuracies due to an unstable reference (e.g., a reference that failsto satisfy, after comparing successive reference phase offsets, astability threshold). The reference phase offset is used to calculateeach tag location and variations in the reference will cause all taglocations calculated with the unstable reference to be less accurate.

In further example embodiments, a location system may monitor receiverhub performance metrics such as tag location accuracy, tag locationcalculation delay time, reference phase offset stability, and processingavailability to determine a configuration occurrence and adjust thereceiver hub configuration to resolve the configuration occurrence. Aconfiguration occurrence may include a volume of tag data that exceeds avolume threshold (e.g. excessive tag data), a volume of tag data thatfails to satisfy a minimum volume threshold (e.g. insufficient tagdata), or an unstable reference. The location system identifies orotherwise determines a receiver hub action condition which satisfies apredetermined threshold, such as low tag location accuracy, lowprocessing availability reference phase offset stability, and/or delayin tag location calculation.

In some example embodiments, the location system may determine anadjustment to the receiver hub configuration and adjust the receiver hubconfiguration. For example, if there is low tag location accuracy, lowprocessor availability, and/or delay in tag location calculation thelocation system may identify excessive tag data condition and adjust thereceiver hub configuration by reducing the range of specified receivers.In some examples, the location system may determine an adjustment basedon low tag location accuracy without delay in tag location calculationsor low processor availability identifying insufficient tag data or anunstable reference condition. An unstable reference may also bedetermined in an instance in which the successive reference phaseoffsets fail meet a stability threshold. In an instance in which thelocation system identifies an insufficient tag data condition, thelocation system may determine and adjust the receiver hub configurationby increasing the range of specified receivers. In an instance in whichthe location system identifies an unstable reference condition, thelocation system may terminate monitoring or otherwise cease to use theunstable reference in calculating tag locations.

The location system may continue to monitor receiver hub configurationto ensure the adjustment has resolved the configuration occurrence. Insome examples, further adjustments may be made. The location system mayadditionally reprocess any tag data received during the configurationoccurrence.

Locations systems with suspended reference may be susceptible to loss,corruption, or loss of calibration to the suspended reference resultingin inaccurate tag locations. The suspended reference phase offset tablestored in memory may become damaged or inaccurate due to a loss ofpower, mechanical disturbance to a receiver, or corruption of thesuspended reference phase offset table data.

In some example embodiments, the location system may determine areference occurrence indicative of a primary suspended reference phaseoffset table failure. A loss of suspended reference phase offset tablemay be the complete loss of the suspended reference phase offset tabledata, partial loss of suspended reference phase offset table data, thecorruption of the suspended reference phase offset table data, or lossof calibration of the suspended reference phase offset table. Thelocation system may monitor various system parameters to determine areference occurrence, such as, system power, receiver power, taglocation accuracy, receiver alignment and/or stability, tag locationcalculation program errors, or the like.

In an instance in which the location system determines a referenceoccurrence, the location system accesses reference tags, in response tothe determining a reference occurrence. The reference tags may bepermanent, semi-permanent, or temporary positioned reference tags placedwithin or about the monitored area. The location system may receivereference tag blink data and dynamically calculate a secondary referencephase offset. The location system may continue with dynamic calculationsof the secondary reference phase offset at a predetermined interval.Alternatively or additionally, the location system may generate asecondary reference phase suspension by storing the reference phaseoffset to a memory for later tag location calculation. The locationsystem may receive tag blink data and may calculate tag locations usingthe dynamically calculated secondary reference phase offset and/or thesecondary reference phase suspension. In an additional or alternateexample embodiment, the location system may reprocess tag location datareceived during the reference occurrence with the secondary referencephase offset or suspended reference phase offset table.

By establishing a secondary reference phase offset and/or suspendedreference phase offset table, the location system may continue real timecalculation of tag location with maximum accuracy, in the event of areference occurrence. Additionally the tag location data received duringthe reference occurrence may be accurately calculated at a later time orwith minimal delay.

Example RF Locating System Architecture

FIG. 1 illustrates an exemplary locating system 100 useful forcalculating a location by an accumulation of location data or time ofarrivals (TOAs) at a receiver hub 108, whereby the TOAs represent arelative time of flight (TOF) from RTLS tags 102 as recorded at eachreceiver 106 (e.g., UWB reader, etc.). A timing reference clock is used,in some examples, such that at least a subset of the receivers 106 maybe synchronized in frequency, whereby the relative TOA data associatedwith each of the RTLS tags 102 may be registered by a counter associatedwith at least a subset of the receivers 106. In some examples, areference tag 104, preferably a UWB transmitter, positioned at knowncoordinates, is used to determine a phase offset between the countersassociated with at least a subset of the of the receivers 106. The RTLStags 102 and the reference tags 104 reside in an active RTLS field. Thesystems described herein may be referred to as either “multilateration”or “geolocation” systems, terms that refer to the process of locating asignal source by solving an error minimization function of a locationestimate determined by the difference in time of arrival (DTOA) betweenTOA signals received at multiple receivers 106.

In some examples, the system comprising at least the tags 102 and thereceivers 106 is configured to provide two dimensional and/or threedimensional precision localization (e.g., subfoot resolutions), even inthe presence of multipath interference, due in part to the use of shortnanosecond duration pulses whose TOF can be accurately determined usingdetection circuitry, such as in the receivers 106, which can trigger onthe leading edge of a received waveform. In some examples, this shortpulse characteristic allows necessary data to be conveyed by the systemat a higher peak power, but lower average power levels, than a wirelesssystem configured for high data rate communications, yet still operatewithin local regulatory requirements.

In some examples, to provide a preferred performance level whilecomplying with the overlap of regulatory restrictions (e.g. FCC and ETSIregulations), the tags 102 may operate with an instantaneous −3 dBbandwidth of approximately 400 MHz and an average transmission below 187pulses in a 1 msec interval, provided that the packet rate issufficiently low. In such examples, the predicted maximum range of thesystem, operating with a center frequency of 6.55 GHz, is roughly 200meters in instances in which a 12 dBi directional antenna is used at thereceiver, but the projected range will depend, in other examples, uponreceiver antenna gain. Alternatively or additionally, the range of thesystem allows for one or more tags 102 to be detected with one or morereceivers positioned throughout a football stadium used in aprofessional football context. Such a configuration advantageouslysatisfies constraints applied by regulatory bodies related to peak andaverage power densities (e.g., effective isotropic radiated powerdensity (“EIRP”)), while still optimizing system performance related torange and interference. In further examples, tag transmissions with a −3dB bandwidth of approximately 400 MHz yields, in some examples, aninstantaneous pulse width of roughly 2 nanoseconds that enables alocation resolution to better than 30 centimeters.

Referring again to FIG. 1, the object to be located has an attached tag102, preferably a tag having a UWB transmitter, that transmits a burst(e.g., multiple pulses at a 1 Mb/s burst rate, such as 112 bits ofOn-Off keying (OOK) at a rate of 1 Mb/s), and optionally, a burstcomprising an information packet utilizing OOK that may include, but isnot limited to, ID information, a sequential burst count or otherdesired information for object or personnel identification, inventorycontrol, etc. In some examples, the sequential burst count (e.g., apacket sequence number) from each tag 102 may be advantageously providedin order to permit, at a Receiver hub 108, correlation of TOAmeasurement data from various receivers 106.

In some examples, the tag 102 may employ UWB waveforms (e.g., low datarate waveforms) to achieve extremely fine resolution because of theirextremely short pulse (i.e., sub-nanosecond to nanosecond, such as a 2nsec (1 nsec up and 1 nsec down)) durations. As such, the informationpacket may be of a short length (e.g. 112 bits of OOK at a rate of 1Mb/sec, in some example embodiments), that advantageously enables ahigher packet rate. If each information packet is unique, a higherpacket rate results in a higher data rate; if each information packet istransmitted repeatedly, the higher packet rate results in a higherpacket repetition rate. In some examples, higher packet repetition rate(e.g., 12 Hz) and/or higher data rates (e.g., 1 Mb/sec, 2 Mb/sec or thelike) for each tag may result in larger datasets for filtering toachieve a more accurate location estimate. Alternatively oradditionally, in some examples, the shorter length of the informationpackets, in conjunction with other packet rate, data rates and othersystem requirements, may also result in a longer battery life (e.g., 7years battery life at a transmission rate of 1 Hz with a 300 mAh cell,in some present embodiments).

Tag signals may be received at a receiver directly from RTLS tags, ormay be received after being reflected en route. Reflected signals travela longer path from the RTLS tag to the receiver than would a directsignal, and are thus received later than the corresponding directsignal. This delay is known as an echo delay or multipath delay. Ifreflected signals are sufficiently strong enough to be detected by thereceiver, they can corrupt a data transmission through inter-symbolinterference. In some examples, the tag 102 may employ UWB waveforms toachieve extremely fine resolution because of their extremely short pulse(e.g., 2 nsec) durations. Furthermore, signals may comprise shortinformation packets (e.g., 112 bits of OOK) at a somewhat high burstdata rate (1 Mb/sec, in some example embodiments), that advantageouslyenable packet durations to be brief (e.g. 112 microsec) while allowinginter-pulse times (e.g., 998 nsec) sufficiently longer than expectedecho delays, avoiding data corruption.

Reflected signals can be expected to become weaker as delay increasesdue to more reflections and the longer distances traveled. Thus, beyondsome value of inter-pulse time (e.g., 998 nsec), corresponding to somepath length difference (e.g., 299.4 m.), there will be no advantage tofurther increases in inter-pulse time (and, hence lowering of burst datarate) for any given level of transmit power. In this manner,minimization of packet duration allows the battery life of a tag to bemaximized, since its digital circuitry need only be active for a brieftime. It will be understood that different environments can havedifferent expected echo delays, so that different burst data rates and,hence, packet durations, may be appropriate in different situationsdepending on the environment.

Minimization of the packet duration also allows a tag to transmit morepackets in a given time period, although in practice, regulatory averageEIRP limits may often provide an overriding constraint. However, briefpacket duration also reduces the likelihood of packets from multipletags overlapping in time, causing a data collision. Thus, minimal packetduration allows multiple tags to transmit a higher aggregate number ofpackets per second, allowing for the largest number of tags to betracked, or a given number of tags to be tracked at the highest rate.

In one non-limiting example, a data packet length of 112 bits (e.g., OOKencoded), transmitted at a data rate of 1 Mb/sec (1 MHz), may beimplemented with a transmit tag repetition rate of 1 transmission persecond (1 TX/sec). Such an implementation may accommodate a battery lifeof up to seven years, wherein the battery itself may be, for example, acompact, 3-volt coin cell of the series no. BR2335 (Rayovac), with abattery charge rating of 300 mAhr. An alternate implementation may be ageneric compact, 3-volt coin cell, series no. CR2032, with a batterycharge rating of 220 mAhr, whereby the latter generic coin cell, as canbe appreciated, may provide for a shorter battery life.

Alternatively or additionally, some applications may require highertransmit tag repetition rates to track a dynamic environment. In someexamples, the transmit tag repetition rate may be 12 transmissions persecond (12 TX/sec). In such applications, it can be further appreciatedthat the battery life may be shorter.

The high burst data transmission rate (e.g., 1 MHz), coupled with theshort data packet length (e.g., 112 bits) and the relatively lowrepetition rates (e.g., 1 TX/sec), provide for two distinct advantagesin some examples: (1) a greater number of tags may transmitindependently from the field of tags with a lower collision probability,and/or (2) each independent tag transmit power may be increased, withproper consideration given to a battery life constraint, such that atotal energy for a single data packet is less that a regulated averagepower for a given time interval (e.g., a 1 msec time interval for an FCCregulated transmission).

Alternatively or additionally, additional sensor or telemetry data maybe transmitted from the tag to provide the receivers 106 withinformation about the environment and/or operating conditions of thetag. For example, the tag may transmit a temperature to the receivers106. Such information may be valuable, for example, in a systeminvolving perishable goods or other refrigerant requirements. In thisexample embodiment, the temperature may be transmitted by the tag at alower repetition rate than that of the rest of the data packet. Forexample, the temperature may be transmitted from the tag to thereceivers at a rate of one time per minute (e.g., 1 TX/min.), or in someexamples, once every 720 times the data packet is transmitted, wherebythe data packet in this example is transmitted at an example rate of 12TX/sec.

Alternatively or additionally, the tag 102 may be programmed tointermittently transmit data to the receivers 106 in response to asignal from a magnetic command transmitter (not shown). The magneticcommand transmitter may be a portable device, functioning to transmit a125 kHz signal, in some example embodiments, with a range ofapproximately 15 feet or less, to one or more of the tags 102. In someexamples, the tags 102 may be equipped with at least a receiver tuned tothe magnetic command transmitter transmit frequency (e.g., 125 kHz) andfunctional antenna to facilitate reception and decoding of the signaltransmitted by the magnetic command transmitter.

In some examples, one or more other tags, such as a reference tag 104,may be positioned within and/or about a monitored area or zone, such asmonitored area 100 illustrated herein as a football field. The referencetags 104 may be permanently or semi permanently mounted in locationswith a clear line of sight (e.g. no RF obstructions) to the receivers106. Alternatively or additionally, temporary reference tags 104A may bepositioned within and/or about the monitored area or zone, and removedafter generating a suspended reference phase offset table as describedbelow. In some examples, the reference tag 104 may be configured totransmit a signal that is used to measure the relative phase (e.g., thecount of free-running counters) of non-resettable counters within thereceivers 106.

One or more (e.g., preferably four or more) receivers 106 are alsopositioned at predetermined coordinates within and/or around themonitored region. In some examples, the receivers 106 may be connectedin a “daisy chain” fashion to advantageously allow for a large number ofreceivers 106 to be interconnected over a significant monitored regionin order to reduce and simplify cabling, provide power, and/or the like.Each of the receivers 106 includes a receiver for receivingtransmissions, such as UWB transmissions, and preferably, a packetdecoding circuit that extracts a time of arrival (TOA) timing pulsetrain, transmitter ID, packet number, and/or other information that mayhave been encoded in the tag transmission signal (e.g., materialdescription, personnel information, etc.) and is configured to sensesignals transmitted by the tags 102 and one or more reference tags 104.

Each receiver 106 includes a time measuring circuit that measures timesof arrival (TOA) of tag bursts, with respect to its internal counter.The time measuring circuit is phase-locked (e.g., phase differences donot change and therefore respective frequencies are identical) with acommon digital reference clock signal distributed via cable connectionfrom a Receiver hub 108 having a central timing reference clockgenerator. The reference clock signal establishes a common timingreference for the receivers 106. Thus, multiple time measuring circuitsof the respective receivers 106 are synchronized in frequency, but notnecessarily in phase. While there typically may be a reference phaseoffset between any given pair of receivers in the receivers 106, thereference phase offset is readily determined through use of a referencetag 104/104A. Alternatively or additionally, each receiver may besynchronized wirelessly via virtual synchronization without a dedicatedphysical timing channel.

In some example embodiments, the receivers 106 are configured todetermine various attributes of the received signal. Since measurementsare determined at each receiver 106, in a digital format, rather thananalog in some examples, signals are transmittable to the Receiver hub108. Advantageously, because packet data and measurement results can betransferred at high speeds to a receiver memory, the receivers 106 canreceive and process tag (and corresponding object) locating signals on anearly continuous basis. As such, in some examples, the receiver memoryallows for a high burst rate of tag events (i.e., information packets)to be captured.

Data cables or wireless transmissions may convey measurement data fromthe receivers 106 to the Receiver hub 108 (e.g., the data cables mayenable a transfer speed of 2 Mbps). In some examples, measurement datais transferred to the Receiver hub at regular polling intervals.

As such, the Receiver hub 108 determines or otherwise computes taglocation (i.e., object location) by processing TOA measurements relativeto multiple data packets detected by the receivers 106. In some exampleembodiments, the Receiver hub 108 may be configured to resolve thecoordinates of a tag using nonlinear optimization techniques.

In some examples, TOA measurements from multiple receivers 106 areprocessed by the Receiver hub 108 to determine a location of thetransmit tag 102 by a differential time-of-arrival (DTOA) analysis ofthe multiple TOAs. The DTOA analysis includes a determination of tagtransmit time t₀, whereby a time-of-flight (TOF), measured as the timeelapsed from the estimated tag transmit time t₀ to the respective TOA,represents graphically the radii of spheres centered at respectivereceivers 106. The distance between the surfaces of the respectivespheres to the estimated location coordinates (x₀, y₀, z₀) of thetransmit tag 102 represents the measurement error for each respectiveTOA, and the minimization of the sum of the squares of the TOAmeasurement errors from each receiver participating in the DTOA locationestimate provides for both the location coordinates (x₀, y₀, z₀) of thetransmit tag and of that tag's transmit time t₀.

In some examples, the system described herein may be referred to as an“over-specified” or “over-determined” system. As such, the Receiver hub108 may calculate one or more valid (i.e., most correct) locations basedon a set of measurements and/or one or more incorrect (i.e., lesscorrect) locations. For example, a location may be calculated that isimpossible due the laws of physics or may be an outlier when compared toother calculated locations. As such one or more algorithms or heuristicsmay be applied to minimize such error.

The starting point for the minimization may be obtained by first doingan area search on a coarse grid of x, y and z over an area defined bythe user and followed by a localized steepest descent search. Thestarting location for this algorithm is fixed, in some examples, at themean position of all active receivers. No initial area search is needed,and optimization proceeds through the use of a Davidon-Fletcher-Powell(DFP) quasi-Newton algorithm in some examples. In other examples, asteepest descent algorithm may be used.

One such algorithm for error minimization, which may be referred to as atime error minimization algorithm, may be described in Equation 1:ε=Σ_(j=1) ^(N)[[(x−x _(j))²+(y−y _(j))²+(z−z _(j))²]^(1/2) −c(t _(j) −t₀)]²  (1)

Where N is the number of receivers, c is the speed of light, (x_(j),y_(j), z_(j)) are the coordinates of the j^(th) receiver, t_(j) is thearrival time at the j^(th) receiver, and t₀ is the tag transmit time.The variable t₀ represents the time of transmission. Since t₀ is notinitially known, the arrival times, t_(j), as well as t₀, are related toa common time base, which in some examples, is derived from the arrivaltimes. As a result, differences between the various arrival times havesignificance for determining location as well as t₀.

The optimization algorithm to minimize the error ε in Equation 1 may bethe Davidon-Fletcher-Powell (DFP) quasi-Newton algorithm, for example.In some examples, the optimization algorithm to minimize the error ε inEquation 1 may be a steepest descent algorithm. In each case, thealgorithms may be seeded with an initial location estimate (x, y, z)that represents the two-dimensional (2D) or three-dimensional (3D) meanof the positions of the receivers 106 that participate in the taglocation determination.

In some examples, the RTLS system comprises a receiver grid, wherebyeach of the receivers 106 in the receiver grid keeps a receiver clockthat is synchronized, with an initially unknown phase offset, to theother receiver clocks. The phase offset between any receivers may bedetermined by use of a reference tag that is positioned at a knowncoordinate position (x_(T), y_(T), z_(T)). The phase offset serves toresolve the constant offset between counters within the variousreceivers 106, as described below.

In further example embodiments, a number N of receivers 106 {R_(j), j=1,. . . , N} are positioned at known coordinates (x_(R) _(j) , y_(R) _(j), z_(R) _(j) ), which are respectively positioned at distances d_(R)_(j) from a reference tag 104, such as given in Equation 2:d _(R) _(j) =√{square root over ((x _(R) _(j) −x _(T))²+(y _(R) _(j) −y_(T))²+(z _(R) _(j) −z _(T))²)}  (2)

Each receiver R_(j) utilizes, for example, a synchronous clock signalderived from a common frequency time base, such as a clock generator.Because the receivers are not synchronously reset, an unknown, butconstant offset O_(j) exists for each receiver's internal free runningcounter. The value of the constant offset O_(j) is measured in terms ofthe number of fine resolution count increments (e.g., a number ofnanoseconds for a one nanosecond resolution system).

The reference tag is used, in some examples, to calibrate the radiofrequency locating system as follows: The reference tag emits a signalburst at an unknown time TR. Upon receiving the signal burst from thereference tag, a count N_(R) _(j) as measured at receiver R_(j) is givenin Equation 3 by:N _(R) _(j) =βτ_(R) +O _(j) +βd _(R) _(j) /c  (3)

Where c is the speed of light and β is the number of fine resolutioncount increments per unit time (e.g., one per nanosecond). Similarly,each object tag T_(i) of each object to be located transmits a signal atan unknown time τ_(i) to produce a count N_(i) _(j) , as given inEquation 4:N _(i) _(j) =βτ_(i) +O _(j) +βd _(i) _(j) /c  (4)

at receiver R_(j) where d_(i) _(j) is the distance between the objecttag T_(i) and the receiver 106 R_(j). Note that τ_(i) is unknown, buthas the same constant value for all receivers. Based on the equalitiesexpressed above for receivers R_(j) and R_(k) and given the referencetag 104/104A information, reference phase offsets expressed asdifferential count values are determined as given in Equations 5a-b:

$\begin{matrix}{{N_{R_{j}} - N_{R_{k}}} = {\left( {O_{j} - O_{k}} \right) + {\beta\left( {\frac{d_{R_{j}}}{c} - \frac{d_{R_{k}}}{c}} \right)}}} & \left( {5a} \right)\end{matrix}$Or,

$\begin{matrix}{\left( {O_{j} - O_{k}} \right) = {{\left( {N_{R_{j}} - N_{R_{k}}} \right) - {\beta\left( {\frac{d_{R_{j}}}{c} - \frac{d_{R_{k}}}{c}} \right)}} = \Delta_{j_{k}}}} & \left( {5b} \right)\end{matrix}$

Where Δ_(jk) is constant as long as d_(R) _(j) −d_(Rk) remains constant,(which means the receivers and reference tag are fixed and there is nomultipath situation) and β is the same for each receiver. Note thatΔ_(j) _(k) is a known quantity, since N_(R) _(j) , N_(R) _(k) , β, d_(R)_(j) /c, and d_(R) _(k) /c are known. That is, the reference phaseoffsets between receivers R_(j) and R_(k) may be readily determinedbased on the reference tag 104/104 a transmissions. The reference phaseoffsets are stored in a reference phase offset table, depicted in FIG.8. The reference phase offsets, of the reference phase offset table, areupdated at each receipt of a reference tag 104/104A. The location systemmay use the reference phase offsets from the reference phase offsettable in the calculation of the object tag 102 location. Thus, againfrom the above equations, for a tag 102 (T_(i)) transmission arriving atreceivers R_(j) and R_(k), one may deduce the following Equations 6a-b:

$\begin{matrix}{{N_{i_{j}} - N_{i_{k}}} = {{\left( {O_{j} - O_{k}} \right) + {\beta\left( {\frac{d_{i_{j}}}{c} - \frac{d_{i_{k}}}{c}} \right)}} = {\Delta_{j_{k}} + {\beta\left( {\frac{d_{i_{j}}}{c} - \frac{d_{i_{k}}}{c}} \right)}}}} & \left( {6a} \right)\end{matrix}$Or,d _(i) _(j) −d _(i) _(k) =(c/β)[N _(i) _(j) −N _(i) _(k) −Δ_(j) _(k)]  (6b)

Each arrival time, t_(j), can be referenced to a particular receiver(receiver “1”) as given in Equation 7:

$\begin{matrix}{t_{j} = {\frac{1}{\beta}\left( {N_{j} - \Delta_{j\; 1}} \right)}} & (7)\end{matrix}$

The minimization, described in Equation 1, may then be performed overvariables (x, y, z, t₀) to reach a solution (x′, y′, z′, t₀′).

In some example embodiments, the location of a tag 102 may then beoutput to a receiver processing and distribution system 110 for furtherprocessing of the location data to advantageously providevisualizations, predictive analytics, statistics and/or the like.

As described above, a reference phase offset may be dynamicallycalculated each time the reference tag blink data is received. Taglocations may be calculated using the current reference phase offset ineach instance in which tag blink data is received. Alternatively oradditionally, a suspended reference phase offset table may be generated.A suspended reference phase offset table is a reference phase offsetwhich may be stored to a memory for use by the receiver hub in later taglocation calculations. The suspended reference phase offset table mayinclude the TDOA for each reference tag blink amongst a plurality ofreceivers, corrected for propagation time, as described above. Thegeneration and use of a suspended reference phase offset table for taglocation calculations minimizes or otherwise removes variousinterferences and reference variations, therefore causing, in someexample, more accurate and consistent tag locations.

In an example embodiment, a suspended reference phase offset table maybe generated after comparing successive reference phase offsets to astability threshold. Missed reference tags blinks may be reference tagblink data that is not received within a predetermined period, forexample 1/10 of a second, 1 second, 2 seconds, or any other time value.Consistency may be determined in various manners including withoutlimitation, manual comparison of tag physical location and calculatedtag location, plotting tag location calculations and determining alocation radius, or the time of arrival error for a locationcalculations, or the like. In some examples, consistency may bedetermined if a set of offset calculations for each receiver pair arewithin 5 ns of each other. By way of further example, the stabilitythreshold may require no missed reference tag blinks detected for 5successive phase offsets and a consistency of 80 percent. In anotherexample, the stability threshold may allow 3 missed reference tagblinks, but require a consistency of 90 percent.

When the series of reference phase offsets satisfies the stabilitythreshold, a suspended reference phase offset table may be generated.The suspended reference phase offset table may be generated by lockingthe reference phase offset values in the reference phase offset table,shown in FIG. 8. The suspended reference phase offset table, i.e., thevalues locked in the reference phase offset table, may be stored in amemory and used for subsequent location calculations. The referencephase offset of the suspended reference phase offset table may be set asthe last, an average, or any other reference phase offset that satisfiedthe stability threshold. In an instance in which a suspended referencephase offset table has been generated, the subsequent event tag locationcalculations may use the stored reference phase offset of the suspendedreference phase offset table. In some example, embodiments, thesuspended reference phase offset table may be generated during a periodof low RF and/or physical interference. The determination of a RF signalreceiving period with low RF and/or physical interferences may bedetermined manually or automatically (e.g. without user interaction). Inan instance in which the determination is manual, a RF receiving periodmay be selected based on the level of use of the event area at certaintimes, such as the day prior to the event where low usage is expected.Further, reference tag blink data strength and quality may be monitored,such as received signal strength index (RSSI). When interferences aredetermined to be low, the suspended reference phase offset tablegeneration may be initiated.

In an instance in which the determination is automatic, variousreference tag blink data metrics, such as, RSSI, or the like may bemonitored and compared to an interference threshold. Additionally, othertransmissions may be monitored, such as remote camera transmissionswhich may saturate the reference tag blink data. When the interferencethreshold is satisfied a suspended reference phase offset table may begenerated as described above.

In some embodiments, a secondary reference phase offset may becalculated when a reference occurrence is determined that is indicativeof a primary suspended reference phase offset table failure. A primarysuspended reference phase offset table failure may include withoutlimitation the complete loss of the suspended reference phase offsettable data, the loss of a portion of the suspended reference phaseoffset table data, corruption of the suspended reference phase offsettable data, loss of calibration of the suspended reference phase offsettable, or the like. The receiver hub 108 and/or the receiver processingand distribution system 110 may monitor various system parameters todetermine a reference occurrence, such as, system power, receiver 106power, tag location calculation accuracy, receiver alignment and/orstability, tag location calculation program errors, or the like.

The receiver hub 108 and/or the receiver processing and distributionsystem may monitor for low tag location accuracy in a portion of themonitored area 100 or the entire monitored area indicative of a loss ofcalibration of a portion of the entire primary suspended reference phaseoffset table. A reference occurrence may be determined in an instance inwhich the tag location accuracy meets a predetermined threshold. Forexample, 70 percent accuracy for the entire monitored area, or 80percent accuracy for a specified zone suspended reference phase offsettable A loss of system or receiver 106 power may cause a of change thereference clock timing differences, causing the reference phase offsetsstored within the primary suspended reference phase offset table to beinaccurate. As such, a reference occurrence may be determined based on aloss of power to the system or one or more receivers. Alternatively, theloss of power to the system or one or more receivers may be a factoradjusting other threshold determinations. For example, an 80 percentaccuracy for the entire monitored area or 90 percent for a zone maysatisfy the tag location accuracy threshold in an instance in which aloss of power had been detected.

The receiver hub 108 and/or the receiver processing and distributionsystem may monitor the tag calculation program for errors, such assuspended reference phase offset table not found, suspended referencephase offset table corrupt, or other indicators of a loss or corruptionof the primary suspended reference phase offset table. If a tagcalculation program error indicative of the loss or corruption of theprimary suspended reference phase offset table is received a referenceoccurrence may be determined.

The receivers may be equipped with stability or alignment circuitry toindicate an instance in which the receiver may have been moved aftergenerating the primary suspended reference phase offset table. Alignmentand/or stability circuitry may include, without limitation, tremblers todetect an impact to the receiver, liquid, bearing, or other levelswitches to indicate a change in level of the receiver, or a pressureswitch to indicate a movement of the receiver. If movement of a receiver106 is detected a reference occurrence may be determined or used as afactor adjusting other threshold determinations similar to a loss ofsystem or receiver power.

In an instance in which a reference occurrence has been determined,reference tags 104/104A are accessed. Reference tags 104/104A maytransmit blink data throughout the monitored event regardless of whetherthe blink data is received or utilized. Reference tag blink data may bereceived and ignored (e.g. not selected), not monitored, or used for adynamic reference phase crosscheck during normal operations. If notselected or monitored at the time of the reference occurrence, thereference tags 104/104A are selected and/or monitored by the receiverhub 108. In an alternative embodiment in which the reference tags104/104A are not transmitting at the time of the reference occurrence,an activation signal may be transmitted by a transmitter or transceiverto initiate the reference tag blink data transmissions.

A secondary reference phase offset may be calculated as described abovewith respect to calculating reference phase offset, based on thereference tag blink data. Tag 102 location may be calculated dynamicallywhen tag blink data is received, by using the dynamically calculatedsecondary reference phase offset.

In an additional or alternative embodiment, a secondary suspendedreference phase offset table may be generated based on the secondaryreference phase offset as discussed above. The secondary suspendedreference phase offset table may be used to calculate tag 102 locationsbased on received tag blink data.

The tag blink data received during the reference occurrence may bereprocessed with the secondary suspended reference phase offset table.The tag blink data may be stored in a memory and reprocessed at a latertime or reprocessed on the establishment of a secondary reference phaseoffset or suspended reference phase offset table.

In some example embodiments, the suspended reference phase offset tableis compensated for changes in the environment from the time of thesuspended reference phase offset table generation to the calculation oftag locations. The time of arrival of various signals may depend on thelength and/or voltage of receiver cables which may change due to changesin environmental conditions, such as temperature. In examples in whichthe reference phase offset is dynamically calculated, the cable lengthand voltage is inherent to the offsets which are calculatedcontemporaneously with the tag location calculations (e.g., thereference blink and tag blink may both have the same lag due to receivercables and may be canceled out). In embodiments in which the referenceis suspended, the changes in voltage and or cable length may becompensated by calculating the change in signal timing for each receiverbased on the change in cable length or voltage.

The initial (e.g. reference) temperature, voltage, and cable length foreach receiver are stored with the suspended reference phase offsettable. The current environmental data (e.g. temperature and voltage) maybe monitored and compared to the reference environmental data. Anenvironmental offset may be calculated continuously for the currentenvironmental conditions, or may be calculated when an environmentalcondition satisfies a predetermined threshold difference from thereference environmental data. For example, the predetermined thresholdmay be satisfied at 5 degrees change in temperature or 10 millivoltchange in voltage. The environmental offset may be calculated by findingthe proportional change in reference phase offset (e.g. reference tagblink data signal time) based on the change in receiver voltage or thechange in cable length based on change in temperature as discussed inFIG. 5. The calculated environmental offset may be dynamically adjustedand added to the reference phase offset for each receiver in thesuspended reference phase offset table.

In some example embodiments, one or more configuration settings may beadjusted based on the determination of a configuration occurrenceindicative of an action condition within the receiver hub 108configuration. The determination of a configuration occurrence may bebased on one or more performance metrics (e.g. tag location accuracy,tag location calculation delay time, processing availability, or thelike). The action conditions may include without limitation, excessivetag data (e.g. excessive tag location data output, excessive tag blinkdata input), insufficient tag data, unstable reference, or the like.

The action condition may be identified by comparing various performancemetrics to predetermined thresholds and/or combinations of thresholds.For example insufficient tag data may be determined in an instance inwhich the tag location accuracy satisfies the predetermined tag accuracythreshold, but the tag location calculation delay and processingavailability may not satisfy respective predetermined thresholds. In anexample in which an excessive tag data is determined, tag locationcalculation delay, and/or processing availability satisfy apredetermined threshold, and the tag location accuracy may or may notsatisfy a predetermined threshold. In an example embodiment in which anunstable reference is determined, tag location accuracy may satisfy thepredetermined tag accuracy threshold, but the tag location calculationdelay and processing availability may not satisfy respectivepredetermined thresholds. An unstable reference may also be determinedin an instance in which the reference phase offset or series ofreference phase offsets fails to meet a predetermined stabilitythreshold when compared to previous reference phase offsets. In someexamples, an area of interest may be selected. An area of interest maybe any portion of the monitored area and may be selected manually orautomatically as discussed in FIG. 6. In instances in which excessive orinsufficient tag data is determined or an area of interest is selectedthe receivers may be classified as interested or non-interested.Interested receivers may be receivers which are in greater proximity tothe tags 102 or area which are desired to be monitored, such asparticipants in the event. Non-interested tags may not be in proximityto the tags which are desired to be monitored or may have anoverpopulation of tags 102 that are not currently relevant, such asparticipants on the sideline or dugout during a football or baseballgame.

An adjustment to the receiver hub configuration may be determined basedon the identified action condition. The adjustments to the receiver hubconfiguration may include without limitation, reducing receiver range,increasing receiver range, and termination of monitoring and/or use anunstable reference in tag location calculations. For example and in aninstance in which excessive tag data is determined, the receiver hubconfiguration may be adjusted by reducing the range of a single receiver106, all receivers, receivers zones, or receivers classified asnon-interested. In an example embodiment in which insufficient tag datahas been identified the receiver hub configuration may be adjusted byincreasing the range of a single receiver 106, all receivers, receiverzones, or receivers classified as interested. In an example embodimentin which an unstable reference has been identified during a dynamiccalculation of reference phase offset the receiver hub configuration maybe adjusted by terminating the monitoring of the unstable reference. Inan example embodiment in which an unstable reference has been identifiedand tag locations are utilizing a suspended reference phase offsettable, the receiver hub configuration may be adjusted by terminating useof the unstable (or corrupt) reference in the tag location calculation.

The receiver hub 108 or the receiver processing and distribution system110 may continue to monitor the performance metrics and determine if theconfiguration occurrence has been resolved or if additional adjustmentsare required.

In an instance in which an unstable reference was determined and anadjustment made to the receiver hub 108, the tag blink data which wascollected during the configuration occurrence may be reprocessed. Thereceiver hub 108 or receiver processing and distribution system 110 mayreprocess the tag blink data collected during the configurationoccurrence without the unstable reference.

The exemplary radio frequency locating system of FIG. 1 may be used inproviding performance analytics in accordance with some embodiments ofthe present invention. In the environment of FIG. 1, data may becaptured and analyzed, such as during a sporting event to identifyevents, statistics, and other data useful to a sports team, league,viewer, licensee, or the like. In some embodiments, data associated witha number of objects or participants (e.g., players, officials, balls,game equipment, etc.) on a playing field, such as monitored area 100,may be generated and provided to a performance analytics system. Assuch, each object may have one or more attached tags 102 (such as toequipment worn by a player) to be used to track data such as location,change of location, speed, or the like of each object. In someembodiments, additional sensors, such as, without limitation,accelerometers, magnetometers, time-of-flight sensors, health sensors,temperature sensors, moisture sensors, light sensors, or the like, maybe attached to each object to provide further data to the performanceanalytics system. Such additional sensors may provide data to the tag102, either through a wired or wireless connection, to be transmitted tothe receivers 106 or the sensors may be configured to transmit data toreceivers (i.e., sensor receivers) separately from tags 102.

One or more of the receivers 106 may receive transmissions from tags 102and transmit the blink data to a receiver hub 108. The receiver hub 108may process the received data to determine tag location for the tags102. The receiver hub 108 may transmit the tag location data to one ormore processors, such as receiver processing and distribution system110. Receiver processing and distribution system 110 may use one or moremodules (e.g., processing engines) and one or more databases to identifythe object each of the tags 102 is associated with, such as a player,official, ball, or the like.

In some embodiments, multiple tags 102 (as well as other sensors) may beattached to the equipment worn by an individual player, official, orother participant. The receiver processing and distribution system 110may use one or more databases to associate the tag identifier (e.g., atag UID) of each tag 102 with each player, official, object, or otherparticipant and correlate the tag location data and/or other tag andsensor derived data for multiple tags 102 that are associated with aparticular player, official, object, or other participant.

As discussed in greater detail below, the receiver processing anddistribution system 110 may then use the tag location data and/or othertag, sensor derived data to determine player and play dynamics, such asa player's location, how the location is changing with time,orientation, velocity, acceleration, deceleration, total yardage, or thelike. The receiver processing and distribution system 110 may also usethe tag location data and/or other tag and sensor derived data todetermine dynamics for other participants such as the officials, theball, penalty markers, line of scrimmage or yards to gain markers, orthe like, for use in generating data for performance analytics. Thereceiver processing and distribution system 110 may also use the dataand one or more databases to determine team formations, play activity,events, statistics, or the like, such as by comparing the data tovarious models to determine the most likely formation or play or theevents that have occurred during a game. The receiver processing anddistribution system 110 may also use the data to provide statistics orother output data for the players, teams, and the game.

As will be apparent to one of ordinary skill in the art, the inventiveconcepts herein described are not limited to use with the UWB based RFlocating system shown in FIG. 1. Rather, in various embodiments, theinventive concepts herein described may be applied to various otherlocating systems especially those that are configured to provide robustlocation resolution (i.e., subfoot location resolution).

Example Processing Apparatus

FIG. 2 shows a block diagram of components that may be included in anapparatus 200, such as receiver hub 108 or receiver processing anddistribution system 110, that may establish and/or otherwise maintain areference phase offset; or adjust receiver hub configuration inaccordance with embodiments discussed herein. Apparatus 200 may compriseone or more processors, such as processor 202, one or more memories,such as memory 204, communication circuitry 206, user interface 208,reference module 210, and a configuration module 212. Processor 202 canbe, for example, a microprocessor that is configured to execute softwareinstructions and/or other types of code portions for carrying outdefined steps, some of which are discussed herein. Processor 202 maycommunicate internally using data bus, for example, which may be used toconvey data, including program instructions, between processor 202 andmemory 204.

Memory 204 may include one or more non-transitory storage media such as,for example, volatile and/or non-volatile memory that may be eitherfixed or removable. Memory 204 may be configured to store information,data, applications, instructions or the like for enabling apparatus 200to carry out various functions in accordance with example embodiments ofthe present invention. For example, the memory 204 could be configuredto buffer input data for processing by processor 202. Additionally oralternatively, the memory 204 could be configured to store instructionsfor execution by processor 202. Memory 204 can be considered primarymemory and be included in, for example, RAM or other forms of volatilestorage which retain its contents only during operation, and/or memory204 may be included in non-volatile storage, such as ROM, EPROM, EEPROM,FLASH, or other types of storage that retain the memory contentsindependent of the power state of the apparatus 200. Memory 204 couldalso be included in a secondary storage device, such as external diskstorage, that stores large amounts of data. In some embodiments, thedisk storage may communicate with processor 202 using an input/outputcomponent via a data bus or other routing component. The secondarymemory may include a hard disk, compact disk, DVD, memory card, or anyother type of mass storage type known to those skilled in the art.

In some embodiments, processor 202 may be configured to communicate withexternal communication networks and devices using communicationscircuitry 206, and may use a variety of interfaces such as datacommunication oriented protocols, including X.25, ISDN, DSL, amongothers. Communications circuitry 206 may also incorporate a modem forinterfacing and communicating with a standard telephone line, anEthernet interface, cable system, and/or any other type ofcommunications system. Additionally, processor 202 may communicate via awireless interface that is operatively connected to communicationscircuitry 206 for communicating wirelessly with other devices, using forexample, one of the IEEE 802.11 protocols, 802.15 protocol (includingBluetooth, Zigbee, and others), a cellular protocol (Advanced MobilePhone Service or “AMPS”), Personal Communication Services (PCS), or astandard 3G wireless telecommunications protocol, such as CDMA20001×EV-DO, GPRS, W-CDMA, LTE, and/or any other protocol.

The apparatus 200 may include a user interface 208 that may, in turn, bein communication with the processor 202 to provide output to the userand to receive input. For example, the user interface may include adisplay and, in some embodiments, may also include a keyboard, a mouse,a joystick, a touch screen, touch areas, soft keys, a microphone, aspeaker, or other input/output mechanisms. The processor may compriseuser interface circuitry configured to control at least some functionsof one or more user interface elements such as a display and, in someembodiments, a speaker, ringer, microphone and/or the like. Theprocessor and/or user interface circuitry comprising the processor maybe configured to control one or more functions of one or more userinterface elements through computer program instructions (e.g., softwareand/or firmware) stored on a memory accessible to the processor (e.g.,memory 204, and/or the like).

The apparatus 200 may include a reference module 210 that may, in turn,be in communication with the processor 202 and configured to cause theprocessor to generate a suspended reference phase offset table. Thereference module may cause the processor 202 to, receive reference tagblink data from the receivers (e.g. receivers 106 as shown in FIG. 1),calculate a reference phase offset, and generate a suspended referencephase offset table. The reference module 210 may also cause theprocessor 202 to determine an RF signal receiving period with low RFand/or physical interference, determine a reference phase timingsatisfies a stability threshold, receive tag blink data from thereceivers 106, and calculate a tag location. The reference module 210may additionally cause the processor 202 to receive environmental datafrom the receivers 106, compare received environmental data to thereference environmental data, calculate an environmental offset, andapply the environmental offset to the reference phase offset of thesuspended reference phase offset table.

In some embodiments the reference module 210 may additionally beconfigured to determine a reference occurrence, access reference tags,and calculate a secondary reference offset. The reference module 210 mayalso cause the processor 202 receive reference tag blink data, generatea secondary suspended reference phase offset table based on thesecondary reference phase offsets, receive tag blink data from thereceivers 106, calculate tag location, and reprocess tag blink data withthe secondary suspended reference phase offset table.

The apparatus 200 may include a configuration module 212 that may, inturn, be in communication with the processor 202 and configured to causethe processor to adjust a receiver hub (e.g. receiver hub 108 as shownin FIG. 1) configuration. The configuration module 212 may cause theprocessor 202 to determine a configuration occurrence, identify areceiver hub action condition which satisfies a predetermined threshold,determine a receiver hub configuration adjustment, and adjust thereceiver hub configuration. The configuration module 212 may also beconfigured to cause the processor 202 receive an indication of a remoteconnection to the receiver hub 108, classify receivers as interested ornon-interested, and reprocess tag blink data with an optimalconfiguration.

FIGS. 3, 5, 7, and 9 illustrate example flowcharts of the operationsperformed by an apparatus, such as computing system 200 of FIG. 2, inaccordance with example embodiments of the present invention. It will beunderstood that each block of the flowcharts, and combinations of blocksin the flowcharts, may be implemented by various means, such ashardware, firmware, one or more processors, circuitry and/or otherdevices associated with execution of software including one or morecomputer program instructions. For example, one or more of theprocedures described above may be embodied by computer programinstructions. In this regard, the computer program instructions whichembody the procedures described above may be stored by a memory 204 ofan apparatus employing an embodiment of the present invention andexecuted by a processor 202 in the apparatus. As will be appreciated,any such computer program instructions may be loaded onto a computer orother programmable apparatus (e.g., hardware) to produce a machine, suchthat the resulting computer or other programmable apparatus provides forimplementation of the functions specified in the flowcharts' block(s).These computer program instructions may also be stored in anon-transitory computer-readable storage memory that may direct acomputer or other programmable apparatus to function in a particularmanner, such that the instructions stored in the computer-readablestorage memory produce an article of manufacture, the execution of whichimplements the function specified in the flowcharts' block(s). Thecomputer program instructions may also be loaded onto a computer orother programmable apparatus to cause a series of operations to beperformed on the computer or other programmable apparatus to produce acomputer-implemented process such that the instructions which execute onthe computer or other programmable apparatus provide operations forimplementing the functions specified in the flowcharts' block(s). Assuch, the operations of FIGS. 3, 5, 7, and 9, when executed, convert acomputer or processing circuitry into a particular machine configured toperform an example embodiment of the present invention. Accordingly, theoperations of FIGS. 3, 5, 7, and 9 define an algorithm for configuring acomputer or processor, to perform an example embodiment. In some cases,a general purpose computer may be provided with an instance of theprocessor which performs the algorithm of FIGS. 3, 5, 7, and 9 totransform the general purpose computer into a particular machineconfigured to perform an example embodiment.

Accordingly, blocks of the flowchart support combinations of means forperforming the specified functions and combinations of operations forperforming the specified functions. It will also be understood that oneor more blocks of the flowcharts', and combinations of blocks in theflowchart, can be implemented by special purpose hardware-based computersystems which perform the specified functions, or combinations ofspecial purpose hardware and computer instructions.

In some example embodiments, certain ones of the operations herein maybe modified or further amplified as described below. Moreover, in someembodiments additional optional operations may also be included (someexamples of which are shown in dashed lines in FIGS. 3, 5, 7, and 9). Itshould be appreciated that each of the modifications, optional additionsor amplifications described herein may be included with the operationsherein either alone or in combination with any others among the featuresdescribed herein.

Example Process for Generating a Reference Suspension

FIG. 3 illustrates a flowchart of an exemplary process for generating asuspended reference phase offset table in accordance with someembodiments of the present invention. At 302, an apparatus may includemeans such as a communications interface 206, a processor 202, referencemodule 210, or the like configured for receiving reference tag blinkdata from receivers 106. The reference tag blink data may be sent frompermanent, semi-permanent, or temporary reference tags 104A placedwithin the monitored area prior to generating a suspended referencephase offset table or semi-permanent reference tags 104 which aremaintained in respective positions with exception of maintenance. Asdescribed in FIG. 1 the reference tag blink data may be a bursttransmission, a pulse, or a pulse pair. The reference tag blink data mayinclude a tag unique identification number (tag UID), otheridentification information, a sequential burst count, stored tag data,or other desired information.

The reference module 210 may cause the processor 202 to time stamp thereference tag blink data with a reference clock time at receipt of thereference tag blink data. In some embodiments, each receiver 106 maytime stamp the reference tag 104 blink data with a reference clock timeat receipt of the reference tag blink data.

At 304, an RF signal receiving period with low RF and/or physicalinterference is determined. The reference module 210 may be configuredto cause a processor 202 to monitor and compare reference tag signalstrength and quality metrics to predetermined thresholds. For example,the processor may compare reference tag RSSI to predeterminedthresholds.

Additionally the processor 202 may monitor for transmissions that maysaturate or block the reference tag blink data. For example, remotecamera transmissions to a base transceiver at the event site or otherinterfering signals that may pass through the event site.

In an additional example embodiment the determination of a RF signalreceiving period may be manually supplemented. The determination may beinitiated by a user during periods in which lower RF and physicalinterference is expected. For example, the day or several hours prior toan event, or the like. During such periods there is substantially lesspersonnel within the monitored area, less personnel or equipmentmovement which may block the line of sight reference blink datatransmissions from reference tags to receivers. Further, there are fewertransmissions from event service providers causing RF interference.

In some example embodiments, the determination of an RF signal receivingperiod may be performed manually. In an instance in which thedetermination of an RF signal receiving period is manual, a user mayverify the reference tag signal strength and quality metrics andinitiate the calculation of reference phase offset as described below.

At 306, the reference module 210 may be configured to cause theprocessor 202 to calculate a reference phase offset. A reference phaseoffset may be the difference in time of arrival of reference tag104/104A blink data at each pair of receivers. The processor 202 maycompile the reference tag blink data and calculate differential time ofarrival as reference tag to receiver pairs in a reference phase offsettable depicted in FIG. 8 and discussed in FIG. 1. For example thereference phase offset may be the TDOA of a reference tag blink datatransmission at respective receiver pairs. For example, in an embodimentwith 4 receivers the reference phase offset table may have TDOA offsetsfor the following receiver pairs: 1-2, 1-3, 1-4, 2-3, 2-4, and 3-4.

In some embodiments the reference phase offset may further includereference environmental data and receiver cable lengths. Referenceenvironmental data may include the temperature data (e.g. ambienttemperature), voltage, or the like for each receiver. The receiver cablelengths may include each individual timing cable associated with areceiver 106, a total cable length, daisy chain series cable length, orthe like. Environmental data and cable length are discussed in furtherdetail in FIGS. 4 and 5.

At 308, a reference phase timing which satisfies a stability thresholdis determined. The reference module 210 may be configured to cause theprocessor 202 to compare a series of reference phase offsets to apredetermined stability threshold. The processor 202 may collectreference tag 104/104A blink data and calculate reference phase offsetsfor each reference tag blink data received for a predetermined period.For example, the processor 202 may collect reference tags 104/104Asignals and calculate reference phase offsets for 10 seconds, 20,seconds, 30 seconds, 60 seconds, 120 seconds, or any other time value.

The reference module 210 may cause the processor 202 to analyze andcompare reference phase offsets for missed reference tag blink data andconsistency between each sequential reference phase offset. Missedreference tags blinks may be reference tag blink data that is notreceived within a predetermined period, for example 1/10 of a second, 1second, 2 seconds, or any other time value. Consistency may bepercentage of reference phase offset reference tag receiver pairs valueswhich match or percent deviation from an average value. For example, theprocessor may verify that all reference tag 104/104A blink data has beenreceived for the current reference phase offset and then compare withthe last reference phase offset or series of reference phase offsets todetermine accuracy.

The reference module 210 may cause the processor 202 determine ifreference phase timing satisfies the predetermined threshold in aninstance in which a series of reference phase offsets has no missedreference tag blink data from reference tags 104/104A and theconsistency of the reference phase offset series meets a predeterminedthreshold. For example, the series of reference phase offsets may becalculated in predetermined intervals (e.g. 5 seconds). Each of thereference phase offsets may then be compared to each other, such that apercentage of reference phase offsets which match, or percent deviationfrom an average which may be subtracted from 100 percent, is determined.For example, having a 5 second interval of reference phase offsets usinga 1 Hz reference tag signal, all reference tag 104/104A blink data hasbeen received and there is an 80 percent agreement, e.g. consistencybetween reference phase pairs, the processor 202 may determine areference phase timing has satisfied the predetermined threshold andthus reference may be suspended. A suspended reference phase offsettable may be the locking of the reference phase values, in the referencephase offset table, for use in subsequent location calculations.

In other examples the reference module 210 may cause the processor 202to allow missed reference tag 104/104A blink data in an instance inwhich the reference phase offsets satisfy a higher predeterminedconsistency threshold. For example, the processor 202 may determine areference phase timing has satisfied the predetermined threshold with 2instances of missed reference tag blink data where the consistency ofthe reference phase offsets is 90 percent.

At 310, a suspended reference phase offset table is generated. Thereference module 210 may be configured to cause the processor 202 togenerate a suspended reference phase offset table. The processor 202 maycause a reference phase offset table to be stored in a memory (memory204 as shown in FIG. 2) as a suspended reference phase offset tablewhich may be used for tag (tag 102 as shown in FIG. 1) locationcalculations. For example, the processor 202 may select the last, anaverage, or any other of the reference phase offset of the determinedreference phase timing at 308, and cause the reference phase offset tobe stored in memory 204. During subsequent tag 102 location calculationsthe processor may use the reference phase offset of the suspendedreference phase offset table.

At 312, tag blink data is received. The reference module 210 may beconfigured to cause the processor 202 to receive tag blink data from thecommunications interface 206, which in turn receives the tag blink datafrom receivers 106. At 314, tag location data is calculated. Theprocessor 202 may be configured to calculate tag location, using thereference phase offset of the suspended reference phase offset table, asdiscussed in FIG. 1. In an alternative or additional embodiment, theprocessor 202 may use the dynamic reference phase offset calculated at306 as discussed in FIG. 1 in calculating tag location data.

Example RF Locating System Calibrated to Adapt to Environmental Changes

FIG. 4 illustrates an exemplary radio frequency locating system whichmay be calibrated to adapt for environmental changes in accordance withsome example embodiments of the present invention. In environments inwhich the environment is relatively stable (e.g. temperature is stablewithin 2 degrees, 5 degrees, 10 degrees, or any other temperaturevalue), such as an indoor arena with sufficient air conditioning, thereceiver hub 108 may generate a suspended reference phase offset tableas described in FIG. 3 and not adjust for minor environmental conditionchanges. In an instance in which the environment may not have stableenvironmental conditions, such as outdoors or arena with insufficientair conditioning, where the temperature of the monitored area may varywidely, the suspended reference phase offset table may be adjusted forchanges in receiver cable length and/or voltage due to changes inenvironmental condition. Environmental changes may affect receiver cablelength C1-C4 and/or voltage and therefore time difference of arrival ofreference tag 104 blink data or tag 102 blink data.

Each receiver cable length C1-C4 may be measured and an initial lengthentered into the reference phase offset table as the total length of allreceiver cables, the length of each individual receiver cable, thelength of receiver cable in a particular receiver daisy chain. Forexample a total receiver cable length may be C1+C2+C3+C4=Cto, anindividual cable length may be C1 o, C2 o, C3 o, or C4 o, and a receiverdaisy chain series may be C1=Ct1 o, and C2+C3+C4=Ct2 o.

In an alternative or additional embodiment the receiver cable length maybe determined automatically by time domain reflection or otherelectronic measurement.

The initial environmental conditions or reference environmental data maybe collected contemporaneously and entered into the reference phaseoffset table of the suspended reference phase offset table as describedin FIG. 3 as a reference environmental data. Environmental data mayinclude temperature values (To), voltage values (Vo), or the like asmeasured at the receivers 106.

The receiver hub 108 may monitor the environmental data (e.g.temperature and voltage values) sent by the receivers continuously ornear continuously. The received environmental data may be compared tothe reference environmental data. In an instance in which the differencebetween the reference and received environmental data satisfies apredetermined threshold, the receiver hub 108 may calculate anenvironmental offset. In an instance in with the environmental data istemperature the receiver hub may adjust for the change in receiver cablelength C1-C4 due to changes in the temperature. For example, if thedifferential temperature threshold were set to 5 degrees a newenvironmental offset would be calculated where the reference temperaturewas 75 degrees and the received temperature is 81 degrees.|To−Ti|=ΔT If ΔT>5 calculate new environmental offset.

The receiver hub 108 may calculate the new environmental offset bydetermining a change in receiver cable length (ΔCx) and change to thereference phase offset, e.g. change in time difference of arrival due tolonger or shorter cable length, for the particular receiver'sreceiver/reference tag pairs (ΔRpo) based on the change in environmentalcondition (temperature ΔT). The change in environmental data may beproportional to the change in receiver cable length C1-C4, which may beproportional to the change in reference phase offset for the receiver.ΔTαΔC1αΔRpo

The receiver hub 108 may calculate the new cable length using thedifference of the receiver cable length and the initial cable length andthen find the proportional change in reference phase offset for thereceiver.Co+ΔC=Ci(Co−Ci)αΔRpoThe equation may in some embodiments be reflected as:ΔTαΔRpofor each receiver by calculating the change in temperature and thechange in cable length of each receiver in a single proportion changefor reference phase offset for each receiver 106.

In an embodiment in which the change in environmental data is a changein voltage, the receiver hub 108 may calculate the change in voltagedetermine the change in voltage meets a predetermined threshold. Forexample in an instance in which the predetermined threshold has been setto 10 mV, the reference voltage is 5.000V, and the received voltage is5.012V, the difference would be 0.012V and a new environmental offsetmay be determined.|Vo−Vi|=ΔV If ΔV>10 mV calculate new environmental offset.The receiver hub may calculate a new environmental offset based onchange in voltage as the proportional change in reference phase offsetbased on the change in voltage for each receiver 106. ΔVαΔRpo

The receiver hub 108 may apply the environmental offset to the referencephase offset of the suspended reference phase offset table todynamically adjust for the environmental changes since the suspendedreference phase offset table was generated and therefore maximize theaccuracy of the tag location calculations. The environmental offset foreach receiver may be added to the reference phase offset of thesuspended reference phase offset table in the tag location calculationas discussed in FIGS. 1 and 3. Additionally, the receiver hub 108 mayupdate the reference environmental data with the received environmentaldata used to calculate the environmental offset.

Example Process for Calculation and Dynamic Adjustment of anEnvironmental Offset

FIG. 5 illustrates a flowchart of an exemplary process for calculationand dynamic adjustment of an environmental offset in accordance withsome example embodiments of the present invention. At 502, the referencemodule 210 may be configured to cause the processor 202 to receive cablelength measurements from a communications interface 206 or a userinterface 208. The receiver cable length may be entered on the userinterface 208 or received by the communications interface 206 from thereceivers 106, the receiver hub 108, the receiver processing anddistribution system 110, or any other computing device which may measureand/or store receiver cable lengths. Each receiver cable length mayentered into the reference phase offset table of the suspended referencephase offset table as the total length of receiver cabling, length of anindividual receivers cabling, the length of a receiver cable in aparticular daisy chain, or the like. For example, a total receiver cablelength may be C1+C2+C3+C4=Cto, an individual cable length may be C1 o,C2 o, C3 o, or C4 o, and a receiver daisy chain series may be C1=Ct1 o,and C2+C3+C4=Ct2 o for cables depicted in FIG. 4.

At 504, the reference module may be configured to cause the processor202 to receive reference environmental data values from the userinterface 208 or the communications interface 206. The referenceenvironmental data may be entered on the user interface 208 or receivedby the communications interface 206 from the receivers 106. Theenvironmental data may be received contemporaneously with thecalculation of a reference phase offset and/or generation of a suspendedreference phase offset table. Environmental data may include temperaturevalues (To), voltage values (Vo), or the like as measured at thereceivers 106. The environmental data may be entered into the suspendedreference phase offset table as reference environmental data asdiscussed in FIG. 3. For example, the communications interface 206 mayreceive environmental data from the receiver 106 at a predeterminedinterval or when requested by the processor 202 for reference phaseoffset calculations for suspended reference phase offset table.

At 506, environmental data is received. The reference module 210 may beconfigured to cause a processor 202 or communications interface 206 toreceive environmental data from each receiver 106 continuously or at apredetermined interval. For example, the processor 202 may receiveenvironmental data from the receiver 106 every 10 seconds, 30 seconds, 1minute, 2 minutes, 10 minutes, or any other time value.

At 508, received environmental data is compared to referenceenvironmental data. The reference module 210 may be configured to causea processor 202 to compare the reference environmental data to thereceived environmental data. In an instance in which the differencebetween the received environmental data and the reference environmentaldata satisfies a predetermined threshold, the processor 202 maycalculate an environmental offset at 512. For example, if thedifferential temperature threshold were set to 5 degrees a newenvironmental offset would be calculated where the reference temperaturewas 75 degrees and the received temperature is 81 degrees, thedifference would be 6 degrees and a new environmental offset may bedetermined. In another example, in an instance in which thepredetermined threshold has been set to 10 mV with a reference voltageof 5.000V and a received voltage of 5.012V, the difference would be0.012V and a new environmental offset may be determined.

At 510, the reference module may be configured to cause the processor202 to determine the change in receiver cable length based on receivedtemperature environmental data. In an instance in which theenvironmental change is temperature, the processor may compensate for achange in receiver cable length C1-C4, due to changes in temperature.The processor may calculate the change in receiver cable length (ΔCx)based on the change in environmental condition (ΔT). The change intemperature may be proportional to the change in receiver cable lengthC1-C4.ΔTαΔC1

At 512, an environmental offset is calculated. The reference module 210may be configured to cause a processor 202 to calculate an environmentaloffset. The processor may receive or calculate the difference betweenthe reference environmental data and the received environmental data asdiscussed above at 508 and or receive the change to cable length (ΔCx)as discussed at 510. In some embodiments a new receiver cable length iscalculated using the reference receiver cable length and the calculatedchange in receiver cable length. The processor 202 may calculate theproportional change to the reference phase offset of a receiver based onthe change in temperature environmental data and the proportional changeto cable length. Alternatively or additionally, the processor 202 maycalculate the proportional change in reference phase offset for areceiver based on the change in voltage environmental data. Thereference module 210 may cause the processor 202 to update the referenceenvironmental data of the suspended reference phase offset table withthe received environmental data used to calculate the environmentaloffset. After the processor has calculated the environmental offset theprocess may continue to dynamically adjust the environmental offset at506.

At 514, an environmental offset is applied to the reference phaseoffset. The environmental offset for each receiver 106 may be added tothe reference phase offset of the suspended reference phase offset tablein subsequent tag location calculation as discussed in FIGS. 1 and 3.

Example RF Locating System Configured to Adaptively Change Receiver HubConfiguration Based on External Influences

FIG. 6 illustrates an exemplary radio frequency locating system whichmay adaptively change receiver hub configuration settings based onexternal influences in accordance with some embodiments of the presentinvention. The receiver hub 108 may be in wired or wireless (e.g.remote) communication with a receiver processing and distribution system110. During a monitored event, receivers 606 a-h may receive tag blinkdata from each tag T1-12 which is within the receiver's respective rangedepicted by dotted lines. Receivers 606 a-h operate in substantially thesame manner as receivers 106 as shown in FIG. 1. Tags T1-12 operate insubstantially the same manner as tags 102 as described in FIG. 1. Thereceiver hub 108 may receive the tag blink data from each receiver 606.

The receiver hub 108 or the receiver processing and distribution system110 may determine a configuration occurrence, indicative of an actioncondition in the receiver hub configuration including withoutlimitation, excessive tag blink data, excessive receiver hub output data(e.g. tag location data), insufficient tag blink data, unstablereference, or the like. The configuration occurrence may be determinedif various performance metrics such as, processing delay of the receiverhub 108, processing delay of the receiver processing and distributionsystem 110, processing availability, tag location accuracy, referencephase offset stability, or the like satisfy a predetermine threshold(s).

For example, the predetermined threshold for processing availability maybe 15 percent, 10 percent, 5 percent, or any other processingavailability value. A threshold delay or lag may be 5 seconds, 10seconds, or any other time value. In another example receiver hub 108 orthe receiver processing and distribution system 110 may identify anunstable reference in an instance in which tag data is being received ata requisite number of receivers, e.g. 3 and there is a low tag accuracysuch as 1 foot, 2 feet, 5 feet, 10 feet, or any other radial distancevalue.

In another example, the predetermined threshold for reference phasestability may be 80 percent match between the previous 5 dynamicallycalculated reference phase offsets.

Excessive receiver hub 108 output data may cause congestion or delay inprocessing tag location data at the receiver processing and distributionsystem 110 or the receiver hub 108. Excessive tag blink data may causecongestion or delay in processing tag blink data at the receiver hub108. Insufficient tag blink data may reduce tag location calculationaccuracy, due to having less or insufficient blink data to calculate alocation per tag 102. Unstable reference may reduce tag locationcalculation accuracy due to a reference tag of a reference tag/receiverpair in the reference phase offset which is being physically blocked orhas RF interference, when the receiver hub 108 is dynamicallycalculating reference phase offsets as discussed in FIGS. 1 and 3, or acorrupted reference phase offset when a suspended reference phase offsettable is being used for location calculations.

The receiver hub 108 and/or the receiver processing and distributionsystem 110 may identify the action condition which satisfies apredetermined threshold by comparing the monitored performance metricsto predetermined thresholds and/or combination of thresholds. Forexample insufficient tag data may be determined in an instance in whichthe tag location accuracy satisfies the predetermined tag accuracythreshold, but the tag location calculation delay and processingavailability may not satisfy respective predetermined thresholds. In anexample in which an excessive tag data is determined, tag locationcalculation delay and/or processing availability may satisfy apredetermined threshold, and the tag location accuracy may or may notsatisfy a predetermined threshold. In an example embodiment in which anunstable reference is determined tag location accuracy satisfies thepredetermined tag accuracy threshold, but the tag location calculationdelay and processing availability may not satisfy respectivepredetermined thresholds. In another example embodiment in which anunstable reference is determined, dynamically calculated reference phaseoffsets are compared to previous reference phase offsets and fail tomeet a predetermined stability threshold.

The receiver hub 108 or receiver processing and distribution system 110may determine an receiver hub 108 configuration adjustment based on theidentified action condition, such as adjusting receiver 606 range for aspecified receiver, group of receivers or zone, all receivers, orterminate monitoring or use of the unstable reference. A receiver zonemay comprise any group of receivers 606 which may be controlledtogether. For example, receivers 606 a-c may be zone 1, 606 c-e may bezone 2, 606 e-g may be zone 3, and 606 g-h and a may be zone 4.

For example and in an instance in which excessive tag data isdetermined, the receiver hub configuration may be adjusted by reducingthe range of all receivers, receivers zones, or receivers classified asnon-interested. In an example embodiment in which insufficient tag datahas been identified, the receiver hub configuration may be adjusted byincreasing the range of all receivers, receiver zones, or by causingreceiver to be classified as interested/non-interested. In an exampleembodiment in which an unstable reference has been identified during adynamic calculation of reference phase offset, the receiver hubconfiguration may be adjusted by terminating the monitoring of theunstable reference. In an example embodiment in which an unstablereference has been identified and tag locations are utilizing asuspended reference phase offset table, the receiver hub configurationmay be adjusted by terminating use of the unstable (or corrupt)reference in the tag location data calculation.

In an instance in which the receiver hub 108 is receiving a volume oftag data which exceeds a volume threshold or fails to meet a minimumvolume threshold, or the receiver hub is outputting a volume of taglocation data which exceeds a volume threshold, the receiver hub 108 orthe receiver processing and distribution system 110 may classifyreceivers 606 into interested and non-interested receivers. Interestedreceivers may be receivers which are in greater proximity to the tag ortags which are desired to be monitored, such as participants in theevent. Non-interested tags may not be in proximity to the tags which aredesired to be monitored or may have an overpopulation of tags that arenot currently relevant, such as participants on the sideline or dugoutduring a football or baseball game.

In an alternative or additional embodiment an area of interest 601 maybe defined to focus on certain identified tags, such as tags T1-12, overother tags. For example tags 1-4 may be involved in the event action orplay and tags T4-T12 may be off of the event field, such as on thesidelines or dugout. The area of interest may be defined by a user byselecting an area. In some embodiments the area of interest 601 isautomatically determined by the receiver hub 108 or the receiverprocessing and distribution system 110 based on weighting factorsincluding the monitored area, the event field or area, the areas withtags T1-12, or the like.

Continuing with the example, the area of interest 601 contains tags T1,T2, T3, and T4 receivers 606 c-e may be classified as interestedreceivers, due to their proximity to the area of interest. Receivers 606a, 606 g, and 606 h may be classified as non-interested due to the areaof interest being outside of their respective ranges. Receivers 606 fand 606 b may be classified as either interested or non-interestedreceivers based on how much of the area 601 of interest is within therespective receiver's range and/or the coverage of receivers classifiedas interested.

The receiver hub 108 or the receiver processing and distribution system110 may adjust the receiver hub configuration based on the identifiedaction condition. A receiver hub configuration adjustment to receiverrange may be an incremental increase or decrease a in a specifiedreceiver's range based on the receiver hub action condition identified.The reduction or increase in receiver 606 range may be all receivers, azone, or based on classification as interested and non-interestedreceivers.

In an instance in which a reference tag 104/104A is no longer monitored,the associated reference tag/receiver pair reference phase offsets maynot be used for tag location calculations. In an instance in which areference tag/receiver pair offset is corrupted in a suspended referencephase offset table, that reference tag/receiver pair offset is not usedfor tag location calculations.

The receiver hub 108 or receiver processing and distribution system 110may reprocess the tag blink data or tag location data respectively in aninstance in which a reference tag/receiver pair offset(s) have beenremoved from the reference phase offset or suspended reference phaseoffset table used in tag location calculations. The receiver hub 108 orthe receiver processing and distribution system 110 may determine thatthe action condition continues to exist and determine receiver hubconfiguration.

Example Process for Adjusting Receiver Hub Configuration

FIG. 7 illustrates a flowchart of an exemplary process for adjusting areceiver hub (e.g. receiver hub 108 as shown in FIG. 6) configuration inaccordance with some example embodiments of the present invention. At702, an apparatus such as apparatus 200 as shown in FIG. 2 may have aconfiguration module 212 configured to cause a processor 202 to receivean indication of a remote connection with the receiver hub 108. Forexample in an instance in which the apparatus 200 is a receiverprocessing and distribution system (e.g. receiver processing anddistribution system 110 as shown in FIG. 6), the processor 202 may causethe receiver processing and distribution system 110 to establish aremote connection with the receiver hub 108 and the processor mayreceive an indication of the remote connection with the receiver hubthrough a communications interface 206.

At 704, the configuration module 212 may cause the processor 202 todetermine a configuration occurrence. A configuration occurrence may bean indication of an action condition. An action condition may includewithout limitation, excessive tag blink data, excessive tag locationdata, insufficient tag blink data, an unstable reference, or the like.An action condition may be indicated by performance metrics includingwithout limitation, low processing availability, lag or delay betweenthe receipt of tag blink data and calculation of tag location, low taglocation accuracy, low reference phase offset stability, or the likewhich satisfy a predetermined threshold.

At 706, the configuration module 212 may cause the processor 202 toidentify an action condition which satisfies a predetermined threshold.The action condition may be identified by comparing monitoredperformance metrics to predetermined thresholds and/or combinations ofthresholds. For example insufficient tag data may be determined in aninstance in which the tag location accuracy satisfies the predeterminedtag accuracy threshold, but the tag location calculation delay andprocessing availability may not satisfy respective predeterminedthresholds. In an example in which an excessive tag data is determined,tag location calculation delay, and/or processing availability satisfy apredetermined threshold, and the tag location accuracy may or may notsatisfy a predetermined threshold.

In an example embodiment in which an unstable reference is determinedtag location accuracy satisfies the predetermined tag accuracythreshold, but the tag location calculation delay and processingavailability may not satisfy respective predetermined thresholds.Additionally or alternatively, the processor 202 may identify aninsufficient tag blink data in an instance in which there is a low taglocation accuracy due to the tag blink data for a tag or tags 102 notbeing receiver by enough receivers, e.g. two receivers. In anotherexample the processor 202 may identify an unstable reference in aninstance in which tag data is being received at a requisite number ofreceivers, e.g. 3 and there is allow tag accuracy such as 1 foot, 2feet, 5 feet, 10 feet, or any other radial distance value. In anotherexample the processor may identify an unstable reference in an instancein which the dynamically calculated reference phase offset or series ofreference phase offsets fail to meet a stability threshold when comparedto previous reference phase offsets.

At 708, the configuration module 212 may cause the processor 202 toclassify receivers as interested or non-interested. In instances inwhich excessive or insufficient tag data is determined the receivers(e.g. receivers 606 a-h) may be classified as interested ornon-interested. Interested receivers may be receivers which are ingreater proximity to the tag or tags (e.g. tag T1-12) which are desiredto be monitored, such as participants in the event. Non-interestedreceivers 606 may not be in proximity to the tags 102 which are desiredto be monitored or may have an overpopulation of tags that are notcurrently relevant, such as participants on the sideline or dugoutduring a football or baseball game.

Additionally, or alternatively, the processor 202 may identify an areaof interest (e.g. area of interest 601) and receivers 606 which mayreceive T1-12 blink data from the specified area of interest. Forexample, in an instance in which the area of interest 601 contains tagsT1, T2, T3, and T4, receivers 606 c-e may be classified as interestedreceivers, due to their proximity to the area of interest. Receivers 606a, 606 g, and 606 h may be classified as non-interested due to the areaof interest being outside of their respective ranges. Receivers 606 fand 606 b may be classified as either interested or non-interestedreceivers based on how much of the area 601 of interest is within therespective receiver's range and/or the coverage of receivers classifiedas interested.

At 710, the configuration module 212 may cause the processor 202 todetermine an adjustment to the receiver hub configuration. The processor202 may determine a new range for one or more receivers or whichreference tag/receiver pairs of the reference phase offset or suspendedreference phase offset table to use in a tag location calculation. Forexample the processor 202 may have determined that there is insufficienttag blink data and determine the adjustment to the receiver hubconfiguration is an increase the range of one receiver, a receiver zone,all receivers, or receivers classified as interested.

In another example the processor 202 may have determined that there isexcessive tag blink data or tag location data and determine theadjustment to the receiver hub configuration is a decrease in range ofone receiver, a receiver zone, all receivers, or receivers classified asnon-interested.

In some embodiments in which the processor 202 has determined that thereis an unstable reference and the reference phase offset is dynamicallycalculated, the processor may determine which reference tag/receiverpairs of the reference phase offset to use in the calculation of taglocation by terminating the monitoring of the unstable reference tag104/104A.

In some embodiments in which the processor 202 has determined that thereis an unstable reference and the reference phase offset is stored in asuspended reference phase offset table, the processor may determinewhich reference tag/receiver pairs of the reference phase offset in thesuspended reference phase offset table to use in the calculation of taglocation by terminating the use of the corrupt reference tag/receiverpair offset.

At 712 the configuration module 212 may cause the processor 202 to causean adjustment to the receiver hub configuration. The processor 202 maycause the receiver hub 108 to cause the increase or decrease in receiverrange, or terminate the monitoring and/or use of an unstable referenceas determined at 710. Examples of adjusting the receiver hubconfiguration are provided at 714, 716, and 718.

At 714, the configuration module 212 may cause the processor 202 tocause one or more receivers 606 a-h to reduce the respective specifiedreceiver's range. The processor 202 may cause the reduction of thespecified receiver range at the receiver 606. For example the processor202 may cause the reduction in receiver range of a single receiver, suchas receiver 606 a; a receiver zone such as zone 1 receivers 606 a-c; allreceivers 606 a-h; or non-interested receivers such as receives 606 a,606 g, and 606 h of the example from 708. In some example embodimentsthe processor 202 may cause the reduction of receiver range forspecified receivers at the receiver hub 108. After the processor 202 hasadjusted the receiver hub configuration, the processor may continue theprocess at 704.

At 716, the configuration module 212 may cause the processor 202 tocause one or more receivers 606 a-h to increase the respective specifiedreceiver's range. The processor 202 may cause the increase in receiverrange at the specified receiver 606. For example the processor 202 maycause the increase of the receiver range of a single receiver, such asreceiver 606 a; a receiver zone, such as zone 1 receivers 606 a-c; allreceivers 606 a-h; or interested receivers such as receivers c-e of theexample from 708. In some embodiments the processor 202 may cause theincrease of receiver range for specified receivers at the receiver hub108. After the processor 202 has adjusted the receiver hubconfiguration, the processor may continue the process at 704.

At 718, the configuration module 212 may cause the processor 202 tocause the receiver hub 108 to terminate monitoring or using an unstablereference. The processor 202 may terminate monitoring of an unstablereference tag in an instance in which the reference phase offset isdynamically calculated. In an instance in which the reference phaseoffset is stored as a suspended reference phase offset table, theprocessor may terminate using the unstable or corrupt referencetag/receiver pair offset for location calculations. After the processor202 has adjusted the receiver hub configuration, the processor maycontinue the process at 704.

At 720, the reference module 212 may cause the processor 202 toreprocess the tag blink data which was received during the configurationoccurrence with the adjusted receiver hub configuration, in an instancein which the processor has terminated monitoring or using an unstablereference, after reprocessing the tag blink data the processor 202 maycontinue the process at 704.

Example Process for Calculating a Secondary Reference Offset

FIG. 9 illustrates a flowchart of an exemplary process for calculating asecondary reference offset in accordance with some example embodimentsof the present invention. At 902, an apparatus, such as apparatus 200 asshown in FIG. 2, may have a reference module 210 configured to cause aprocessor 202 to determine a reference occurrence indicative of aprimary suspended reference phase offset table failure. A primarysuspended reference phase offset table failure may include, withoutlimitation, the complete loss of the suspended reference phase offsettable data, the loss of a portion of the suspended reference phaseoffset table data, corruption of the suspended reference phase offsettable data, loss of calibration of the suspended reference phase offsettable, or the like. The processor 202 may monitor various systemparameters to determine a reference occurrence, such as, system power,receiver (e.g. receiver 106) power, tag location calculation accuracy,receiver alignment and/or stability, tag location calculation programerrors, or the like.

A loss of primary reference calibration may be identified by low taglocation accuracy, loss of power to the system or to one or morereceivers, or movement of a receiver. A complete or partial loss of theprimary suspended reference phase offset table may be identified bycalculation program errors, system power failure and/or the like.

In an instance in which tag location accuracy for the monitored area ora portion of the monitored area meets a predetermined threshold, theprocessor may determine a reference occurrence. For example, if the taglocation accuracy for the monitored area is 70 percent a referenceoccurrence may be determined. In another example, if the tag locationaccuracy for a zone is 60 percent a reference occurrence may bedetermined.

A loss of system or receiver power may be sufficient to determine areference occurrence or used as a factor when analyzing otherparameters. For example, if a receiver or group of receivers losespower, a reference occurrence may be determined. In another example, thetag location accuracy threshold may be lowered when a loss of power to areceiver or the system has been detected, such as 70 percent taglocation accuracy for a portion of the monitored area may cause areference occurrence to be determined.

In an instance in which the receivers 106 are equipped with stability oralignment circuitry, the processor 202 may determine a referenceoccurrence based on the stability or alignment circuitry detectingmovement of a receiver. Stability or alignment circuitry may includewithout limitation, trembler switches, liquid switches, bearingswitches, level switches, pressure switches, or the like which maydetect impact or movement of a receiver 106. Additionally oralternatively, detection of receiver movement may be a factor in thedetermination of a reference occurrence. For example, if a receiver wasbumped or moved by equipment or personnel, the trembler, pressure,liquid, bearing, and/or level switches may detect the impact and theprocessor 202 may determine a reference occurrence. In another example,the tag location accuracy threshold may be lowered when a movement of areceiver has been detected, such as 70 percent tag location accuracy fora portion of the monitored area may cause a reference occurrence to bedetermined.

Tag location calculation program errors may cause the processor todetermine a reference occurrence has occurred. For example if theprimary suspended reference phase offset table data cannot be located,cannot be opened, is corrupted (completely or partially), or otherprogram errors which would indicate that the primary suspended referencephase offset table is no longer available for tag location calculations.

At 904, the reference module 210 may be configured to cause theprocessor 202 to access blink data associated with reference tags (e.g.reference tags 104/104A.) The reference tags 104/104A may transmit blinkdata throughout the monitored event regardless of whether the referencetag blink data is received or utilized. Reference tag blink data may bereceived and ignored (e.g. not selected), not monitored, or used for adynamic reference phase crosscheck during normal operations. If notselected or monitored at the time of the reference occurrence, theprocessor 202 may cause the reference tags 104/104A to be selectedand/or monitored. In an alternative embodiment in which the referencetags 104/104A are not transmitting at the time of the referenceoccurrence, the processor 202 may cause an activation signal to betransmitted by a transceiver of the communications interface 206 toinitiate the reference tag blink data transmissions.

At 906, the reference module 210 may be configured cause the processor202 to receive reference tag blink data, from the receivers 106.

At 908, the reference module 210 may be configured to cause theprocessor 202 to calculate a secondary reference phase offset based onthe reference tag blink data. In some examples, the reference tag blinkdata is different from the reference tag blink data. At 910, thereference module 210 may be configured cause the processor 202 togenerate a secondary suspended reference phase offset table. At 912, thereference module 210 may be configured to cause the processor 202 toreceive tag blink data from the receivers 106. At 914, the referencemodule 210 may be configured to cause the processor 202 to calculate atag location. The processor 202 may calculate tag location using thedynamically calculated secondary reference phase offset which issubstantially the same as calculating a tag location using thedynamically calculated reference phase offset as discussed in FIG. 1. Inan alternative or additional embodiment, the processor 202 may calculatetag location using the secondary suspended reference phase offset table.

At 916, the reference module 210 may be configured to cause theprocessor 202 to reprocess tag blink data (e.g., tag blink data receivedprior to or during the determination of the reference occurrence) withthe secondary phase offset for the purpose of calculating location data.The processor 202 may reprocess (e.g. calculate tag location) tag datawhich was received during the reference occurrence (e.g. stored inmemory during the reference occurrence). The processor 202 may retrievethe tag blink data from memory 204 and reprocess the tag blink data. Thereprocessing of the tag blink data may occur at a later time (e.g. afterthe event being monitored), or as soon as the reference occurrence hasbeen resolved (e.g. a secondary reference phase offset or suspendedreference phase offset table has been calculated or generated.)

In some example embodiments, the processor 202 may reprocess the tagblink data using the secondary reference phase offset which wascalculated as close to the time the tag blink data was received.Alternatively or additionally, the processor 202 may reprocess the tagblink data using the reference phase offset of the secondary suspendedreference phase offset table.

Example Process for Determining a Receiver Error

FIG. 10 illustrates an exemplary process for determining a receivererror in accordance with an example embodiment of the present invention.At 1002, an apparatus, such as apparatus 200 as shown in FIG. 2, mayhave a reference module 210 configured to cause the communicationinterface 206 to receive a receiver error indication from one or morereceivers, such as receivers 106. The receiver error indication may bean error code generated by the receiver 106, such as loss of power, outof alignment or unstable in instance in which the receiver is equippedwith alignment or stability circuitry, high or low temperature, powersupply fault, e.g. low or high voltage, ground detection, or the like.Each error code may be associated with a specific binary,alphanumerical, or other reference code. In an example embodiment, asingle error code may be utilized for all receiver errors. Thecommunications interface 206 may transmit the receiver error to theprocessor 202 for further processing.

At 1004 the reference module 210 may be configured to cause theprocessor 202 to determine a receiver error. The processor 202 maydetermine a receiver error based on a receiver error indication. Theprocessor may compare the received receiver error indication code to anerror table. In an instance in which the error indications matches aerror code in the error table the processor 202 may determine a receivererror.

Additionally or alternatively, the processor may determine receivererror based on data received or not received from the receivers 106. Forexample, the processor may determine a receiver error based on anunstable communication signal, or loss of communication, an availabilitysignal, or the like. The processor 202 may compare the data receivedform the receivers to a predetermined threshold, such as bytes perminute. The processor 202 may determine for each respective receiver thetotal bytes received each 60 second period and compare the received datarate to the predetermined threshold. In an instance in which a receiveror receivers fail to satisfy the predetermined threshold, the processor202 may determine that the communication signal is unstable or has beenlost and determine a receiver error has occurred.

In an instance in which the receiver is configured with an availabilitysignal, the processor 202 may determine a receiver error in response tothe availability signal not being received.

At 1006 the reference module 210 may be configured to cause theprocessor to terminate monitoring of the receiver 106 with the error.The processor 202 may receive data from the receiver 106 with the error,but not process the data.

In some example embodiments, the data from the receiver with the errormay be stored in a memory 204 for later system analysis andtroubleshooting.

At 1008 the reference module 210 may be configured to cause theprocessor 202 to calculate tag locations based on the remaining receiverdata. The processor 202 may calculate the tag locations, as described inFIG. 1, using the tag blink data from the remaining receivers.

In some embodiments, certain ones of the operations above may bemodified or further amplified as described below. Moreover, in someembodiments additional optional operations may also be included. Itshould be appreciated that each of the modifications, optional additionsor amplifications below may be included with the operations above eitheralone or in combination with any others among the features describedherein.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Moreover, although the foregoing descriptions and the associateddrawings describe example embodiments in the context of certain examplecombinations of elements and/or functions, it should be appreciated thatdifferent combinations of elements and/or functions may be provided byalternative embodiments without departing from the scope of the appendedclaims. In this regard, for example, different combinations of elementsand/or functions than those explicitly described above are alsocontemplated as may be set forth in some of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

That which is claimed:
 1. A method comprising: receiving environmentaldata from a plurality of receivers, wherein a reference phase offset isused to calculate a location of a tag configured to transmit signals tothe receivers; calculating, using a processor, an environmental offsetbased on the environmental data wherein calculating the environmentaloffset includes determining a difference in the environmental data;applying the environmental offset to the reference phase offset byadjusting the reference phase offset proportional to the difference inthe environmental data; and calculating, using the processor, thelocation of the tag based on the reference phase offset as adjusted bythe applied environmental offset.
 2. A method of claim 1, wherein theenvironmental data comprises temperature data.
 3. A method of claim 1,wherein the environmental data comprises voltage data.
 4. A The methodof claim 1, further comprising: receiving receiver cable lengthmeasurements for a plurality of receiver cables; and determining achange in cable length based on the received environmental data, whereinthe calculating the environmental offset is based on the change inreceiver cable length.
 5. A The method of claim 1, further comprising:receiving values for reference environmental data; and comparing thereference environmental data to the received environmental data, whereinthe difference is between the reference environmental data and thereceived environmental data.
 6. A method of claim 1, wherein thecalculating the environmental offset is performed in response to anenvironmental condition satisfying a predetermined threshold differencefrom a reference value.
 7. An apparatus comprising a processor and amemory including computer program code, the memory and computer programcode configured to, with the processor, cause the apparatus to: receiveenvironmental data from a plurality of receivers, wherein a referencephase offset is used to calculate a location of a tag configured totransmit signals to the receivers; calculate an environmental offsetbased on the environmental data, wherein calculating the environmentaloffset includes determining a difference in the environmental data;apply the environmental offset to the reference phase offset byadjusting the reference phase offset proportional to the difference inthe environmental data; and calculate the location of the tag based onthe reference phase offset as adjusted by the applied environmentaloffset.
 8. An apparatus according to claim 7, wherein the environmentaldata comprises temperature data.
 9. An apparatus according to claim 7,wherein the environmental data comprises voltage data.
 10. An apparatusaccording to claim 7, wherein the memory and computer program code areconfigured to, with the processor, cause the apparatus to: receivereceiver cable length measurements for a plurality of receiver cables;and determine change in cable length based on the received environmentaldata, wherein the calculating the environmental offset is based on thechange in receiver cable length.
 11. An apparatus according to claim 7,wherein the memory and computer program code are further configured to,with the processor, cause the apparatus to: receive values for referenceenvironmental data; and compare the reference environmental data to thereceived environmental data, wherein the difference is between thereference environmental data and the received environmental data.
 12. Anapparatus according to claim 7, wherein the calculating theenvironmental offset is performed in response to an environmentalcondition satisfying a predetermined threshold difference from areference value.
 13. A computer program product comprising anon-transitory computer readable medium having program code portionsstored thereon, the program code portions configured, upon execution to:receive environmental data from a plurality of receivers, wherein areference phase offset is used to calculate a location of a tagconfigured to transmit signals to the receivers; calculate anenvironmental offset based on the environmental data, whereincalculating the environment offset includes determining a difference inthe environmental data; apply the environmental offset to referencephase offset by adjusting the reference phase offset proportional to thedifference in the environmental data calculate the location of the tagbased on the reference phase offset as adjusted by the appliedenvironmental offset.
 14. A computer program product according to claim13, wherein the environmental data comprises temperature data.
 15. Acomputer program product according to claim 13, wherein theenvironmental data comprises voltage data.
 16. A computer programproduct according to claim 13, wherein the program code portions arefurther configured, upon execution, to: receive receiver cable lengthmeasurements for a plurality of receiver cables; and determine change incable length based on the received environmental data, wherein thecalculating the environmental offset is based on the change in receivercable length.
 17. A computer program product according to claim 13,wherein the program code portions are further configured, uponexecution, to: receive values for reference environmental data; andcompare the reference environmental data to the received environmentaldata, wherein the difference is between the reference environmental dataand the received environmental data.
 18. A computer program productaccording to claim 13, wherein the calculating the environmental offsetis performed in response to an environmental condition satisfying apredetermined threshold difference from a reference value.